창제목을 이용해서 윈도우 핸들값을 얻어 내기
예제에 나와 있는것을 약간 수정한 것입니다.
이런 것은 함수로 만들어 놓으면 사용하기 편리한것중 하나 입니다.
Local $winTitle = '정보통신'
Local $winText = ''
Local $winHwd = ''
Local $aList = WinList()
For $i = 1 To $aList[0][0]
If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
Local $tmpWinTitl = $aList[$i][0]
Local $tmpWinHwd = $aList[$i][1]
;ConsoleWrite($MB_SYSTEMMODAL & "" & "Title: " & $tmpWinTitl & @CRLF & "Handle: " & $tmpWinHwd & @CRLF)
If StringInStr($tmpWinTitl, $winTitle) Then
$winHwd = $tmpWinHwd
;ConsoleWrite( @CRLF )
;ConsoleWrite( " 체크된것 >> " & "Title: " & $tmpWinTitl & @CRLF & "Handle: " & $tmpWinHwd & @CRLF)
EndIf
EndIf
Next
; $winHwd
윈도우는 프로세스와 그리고 핸들로 나뉘게 되는데요.
여기선 프로세스 하나에 여러개의 창을 가지고 있는 경우 윈도우 핸들값을 얻어 내는 것입니다.
제목을 활용하고 있으며. 이렇게 핸들 값을 얻어서 사용해야 이 다음에 처리 할 때 좀더 확실하게 처리가 가능합니다.
위에선 조건이 간단하지만 같은 제목을 가지고 있는 창이 있을 수 있기 때문에 조건을 좀 더 자세하게 준다음 핸들값을 얻어서 사용하면 더 좋겠습니다.