2013-05-11 46 views
3

我使用vbs自動化應用程序安裝。我有一個代碼啓動安裝exe文件,並進一步發送keystroks。但現在我需要獲取安裝程序窗口的文本。我可以得到安裝程序窗口的標題(使用objShell.AppActivate),但沒有找到獲取該窗口文本的方式。有什麼方法可以捕捉這個在vbs中?vbscript:獲取應用程序窗口文本

+0

如果你把'的SendKeys「{TAB}」',它帶你到裏面的文本字段?我曾經編寫了一個鍵盤序列來做數據庫備份。該窗口的屏幕截圖會有所幫助。 – PatricK 2013-11-06 22:15:26

+0

我們需要一種方法來了解窗口中的確切文字。例如,在窗口中迭代時,標題可能類似,但文本可以幫助您識別您正在尋找的窗口。謝謝 – lrl 2013-11-06 22:28:22

+0

它不是一個安裝程序,它是一個在非常嚴格和不斷變化的環境中處理彈出窗口的自動化測試(無法安裝任何東西)。 – lrl 2013-11-12 22:43:54

回答

1

另一種可能是枚舉進程的命令行,而不是窗戶:

Dim WshShell 
Set WshShell = CreateObject("Wscript.Shell") 

strComputer = "." 
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process") 

For Each objProcess in colProcesses 
    If InStr(objProcess.CommandLine,"notepad")>0 Then 
    WshShell.AppActivate objProcess.ProcessId 
End If 
Next