我有一個登錄PowerShell腳本。作爲腳本的一部分,它啓動一個應用程序,然後等待4秒鐘等待計算機趕上,然後發送一些擊鍵。powershell,sendkey()和appactive()束縛
$deviceID = "123xyz"
invoke-item ("C:\myapp")
...
$myshell = New-Object -com "Wscript.Shell"
start-sleep -s 4
$myshell.AppActivate("myapp");$myshell.sendkeys("1");$myshell.sendkeys("{TAB}");$myshell.sendkeys("$deviceID");$myshell.sendkeys("{ENTER}")
它的偉大工程,除非用戶在登錄時點擊任何地方。如果他們這樣做,應用程序永遠不會獲得關鍵筆劃,並且應用程序在任務欄中閃爍。
看起來像AppActivate()似乎並沒有真正的工作。有沒有人對此有任何意見?
這是其他程序正在加載,但它沒有鼠標點擊(到桌面)工作正常。 AFAIK sendkeys()是唯一的原因,發送輸入不使用第三方powerpaks等。 – falkaholic 2009-12-16 00:01:38
你寫你的應用程序自己調用?如果是這樣,你有很多選擇,如果沒有,還有一些。根據應用的類型,它可能會或可能不會接受命令行參數,允許重定向控制檯輸入(StdIn,StdOut)和我們的支持直接DDE。 – GrayWizardx 2009-12-16 01:18:27