Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Существует ли функция обратная WinGetProcess (http://forum.oszone.net/showthread.php?t=278855)

Cem 07-03-2014 01:37 2320197

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

Iska 07-03-2014 02:22 2320203

В комплекте готовой функции нет. Воспользуйтесь решениями, например, отсюда: ProcessGetWin? - General Help and Support - AutoIt Forums.

madmasles 08-03-2014 10:30 2320693

Cem,
Можно так сделать.
Код:

#include <Array.au3>
#include <WinAPIEx.au3>;http://autoit-script.ru/index.php/topic,47.0.html

Opt('MustDeclareVars', 1)

Global $aData[1], $aTmp = _WinAPI_EnumProcessWindows(0, 0)
If @error Then Exit
ReDim $aData[$aTmp[0][0] + 1][3]
$aData[0][0] = $aTmp[0][0]
For $i = 1 To $aData[0][0]
    For $j = 0 To 1
        $aData[$i][$j] = $aTmp[$i][$j]
    Next
    $aData[$i][2] = WinGetTitle($aData[$i][0])
Next

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

_ArrayDisplay($aData, '_WinAPI_EnumProcessWindows')



Время: 04:53.

Время: 04:53.
© OSzone.net 2001-