2016-03-22 18 views
0

Kullanmakta olduğum bir programın yüklemesini otomatik hale getirmek için bir Powershell komut dosyası oluşturmaya çalışıyorum (programın sessiz bir yükleyicisinin olmaması). Sorun şu ki, yükleyici penceresi, sendkeylerle gönderilen anahtarları almayacaktır: eğer sadece isabetli girersem işe yaradı, ve başka bir pencereye gönderen ile enterkey göndermek de işe yarayacaktı, ancak o belirli yükleyici penceresine gönderenleri kullanarak gönder Hiçbir şey yapmayın. Daha önce bu problemle karşılaştı mı ve nasıl çözüleceğini biliyor muydunuz? Ben uyku saatlerini değiştirerek denedim, ama bu bir faydası olmaz:Neden bir pencere gönderenler tarafından gönderilen anahtarları almaz?

add-type -AssemblyName microsoft.VisualBasic 
add-type -AssemblyName System.Windows.Forms 

./installer.exe 

start-sleep 1 

[Microsoft.VisualBasic.Interaction]::AppActivate('select setup language') 
start-sleep 1 

[System.Windows.Forms.SendKeys]::SendWait('~'); 

P.S. bir zamanlama sorunu değil şu şekildedir: Ben kullanmaya çalışıyorum komut dosyasıdır.

Teşekkürler!

+0

Yükleyici, powershell betiği değilken yükseltiliyor mu? Farklı ayrıcalık düzeylerine sahip pencereler arasında sürükleyip bırakamayacağınıza (örneğin) dikkat edin. – briantist

+0

@briantist - Yorumunuz için teşekkürler. Ne demek istediğini anlayamadığımdan emin değilim - komut dosyası giriş anahtarını gönderdiğinde yükleyicinin odak noktası var. – shayelk

+0

Komut dosyanız Yönetici modunda çalışıyor mu? Bu sistemde Yönetici olsanız bile lütfen bu komut dosyasını Yönetici ayrıcalıkları olarak çalıştırın. –

cevap

0

Sadece bu komut dosyasını Yönetici olarak çalıştırmanız gerekiyor. Çünkü çoğu kez yönetici ayrıcalıklarına sahip olsak bile, betik winForms veya diğer şeylerde işlevselliği gerçekleştiremez. Bu nedenle, bu komut dosyasını Yönetici olarak çalıştırmak için iyi bir uygulama (Yönetici Olarak Çalıştır).

İlgili konular