amel27,
Цитата:
Имхо идентификации окна по одному заголовку маловато, надо проверять на его принадлежность текущему процессу
|
Согласен. Но во время построения примера я был озабочен другими проблемами
Хм.. не совсем понял как это использовать из функции, ведь hWnd нам не известен, если бы он был известен, то можно было бы просто использовать его вместо заголовка
Вот пример с функцией, возвращает идентификатор окна (Handle) основываясь на идентификаторе процесса (PID), тексте, и классе окна:
Код:

$iPID = Run("Notepad.exe")
ProcessWait($iPID)
Sleep(500)
Send("^s")
Sleep(1000)
$Handle = _WinGetHandleEx($iPID, "#32770", "", "FolderView")
MsgBox(64, "Title:", WinGetTitle($Handle))
Func _WinGetHandleEx($iPID, $sClassNN="", $sPartTitle="", $sText="", $iVisibleOnly=1)
If IsString($iPID) Then $iPID = ProcessExists($iPID)
Local $aWList = WinList("[CLASS:" & $sClassNN & ";REGEXPTITLE:(?i).*" & $sPartTitle & ".*]", $sText)
If @error Then Return SetError(1, 0, "")
For $i = 1 To $aWList[0][0]
If WinGetProcess($aWList[$i][1]) = $iPID And (Not $iVisibleOnly Or _
($iVisibleOnly And BitAND(WinGetState($aWList[$i][1]), 2))) Then Return $aWList[$i][1]
Next
Return SetError(2, 0, "")
EndFunc
P.S
А по поводу моей проблемы с мышкой, есть идеи что можно придумать?
