Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


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
А по поводу моей проблемы с мышкой, есть идеи что можно придумать?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 07:40, 12-02-2008 | #121