2013-05-11 3 views
3

vbs를 사용하여 응용 프로그램 설치를 자동화하고 있습니다. 나는 setup exe 파일을 시작하고 키스트 록크를 보내는 것으로 나아가는 코드를 가지고있다. 하지만 이제 설치 프로그램 텍스트를 가져와야합니다. (objShell.AppActivate를 사용하여) 설치 프로그램 창의 제목을 얻을 수는 있지만 해당 창의 텍스트를 가져 오는 방법을 찾지 못했습니다. 이 방법으로 vbs에서 이것을 캡처 할 수 있습니까?vbscript : 응용 프로그램 창 텍스트 가져 오기

+0

당신'에서 SendKeys "{TAB}을"넣어 경우', 그것은 내부의 텍스트 필드로 이동 하는가? 한 번 데이터베이스 백업을 수행하는 키 시퀀스를 스크립팅했습니다. 그 창의 스크린 샷이 도움이 될 것입니다. – PatricK

+0

우리는 창안에 정확한 텍스트가 무엇인지 알 수있는 방법이 필요합니다. 예를 들어 윈도우를 반복 할 때 제목은 비슷하지만 텍스트는 찾고있는 창을 식별하는 데 도움이 될 수 있습니다. 감사합니다 – lrl

+0

설치 프로그램이 아니라 매우 엄격하고 변화하는 환경 (아무것도 설치할 수 없음)에서 팝업 창을 처리하는 자동화 된 테스트입니다. – lrl

답변

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