PDA

Показать полную графическую версию : [решено] Существует ли функция обратная WinGetProcess


Cem
07-03-2014, 01:37
Доброго времени суток! Столкнулся с такой задачей.
Существует процесс "Proga.exe", который связан с окном.
Как, зная процесс, узнать заголовок окна, связанного с этим процессом?
Это что-то наподобие функции обратной WinGetProcess.

Iska
07-03-2014, 02:22
В комплекте готовой функции нет. Воспользуйтесь решениями, например, отсюда: ProcessGetWin? - General Help and Support - AutoIt Forums (http://www.autoitscript.com/forum/topic/67267-processgetwin/).

madmasles
08-03-2014, 10:30
Cem,
Можно так сделать.#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <Array.au3>
#include (http://autoit-script.ru/autoit3_docs/keywords.htm##include) <WinAPIEx.au3>;http://autoit-script.ru/index.php/topic,47.0.html

Opt (http://autoit-script.ru/autoit3_docs/functions/Opt.htm)('MustDeclareVars', 1)

Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $aData[1], $aTmp = _WinAPI_EnumProcessWindows(0, 0)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://autoit-script.ru/autoit3_docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
ReDim (http://www.autoitscript.com/autoit3/docs/keywords.htm#ReDim) $aData[$aTmp[0][0] + 1][3]
$aData[0][0] = $aTmp[0][0]
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $aData[0][0]
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $j = 0 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) 1
$aData[$i][$j] = $aTmp[$i][$j]
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
$aData[$i][2] = WinGetTitle (http://autoit-script.ru/autoit3_docs/functions/WinGetTitle.htm)($aData[$i][0])
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)

;~ $aData[0][0] - count windows;
;~ $aData[1-n][0] - handle;
;~ $aData[1-n][1] - class;
;~ $aData[1-n][2] - title.

_ArrayDisplay (http://autoit-script.ru/autoit3_docs/libfunctions/_arraydisplay.htm)($aData, '_WinAPI_EnumProcessWindows')




© OSzone.net 2001-2012