2017-05-25 46 views
1

在Windows 10中,我對「calc」使用完全相同的vbscript代碼,對「taskmgr」使用一次。爲什麼SendKeys(這裏是alt + space)適用於「calc」而不適用於「taskmgr」?VBScript中的SendKeys不能用於taskmgr

<package> 
    <job id="vbs"> 
    <script language="VBScript"> 
     set WshShell = WScript.CreateObject("WScript.Shell") 
     WshShell.Run "calc" 
     WScript.Sleep 100 
     WshShell.SendKeys "% " 
    </script> 
    </job> 
</package> 

(按預期工作,下拉菜單中打開)

<package> 
    <job id="vbs"> 
    <script language="VBScript"> 
     set WshShell = WScript.CreateObject("WScript.Shell") 
     WshShell.Run "taskmgr" 
     WScript.Sleep 100 
     WshShell.SendKeys "% " 
    </script> 
    </job> 
</package> 

(沒有工作,沒有下拉菜單...)

+0

對於Windows 7,它正在工作。你可以試試WshShell.SendKeys「%()」嗎? – Gurman

+0

@Kira感謝您的建議。 「%()」的行爲就像「%」:適用於calc,不適用於taskmgr ... – Linus

+2

是以Admin身份運行的任務管理器嗎?如果是,您的腳本是否也以Admin身份運行? – Helen

回答

0

所有權利。感謝大家在評論中的幫助。 因此,爲了sendKeys爲taskmgr工作,腳本必須以管理員身份運行。這可以通過以管理員身份打開命令提示符完成,然後

cscript myScript.wsf