hiho ich suche nach einer möglichkeit die fenster, sowie den prozessnamen aus der mir bekannten PID auszulesen.
gibt es da was ? danke
prozessnamen aus PID und dann die fenster zum zugehörigen prozess...
-
- [ gelöst ]
-
WhiteLion -
29. Juli 2010 um 23:37 -
Geschlossen -
Erledigt
-
-
Hallo WhiteLion,
mit
[autoit]_ProcessGetName
[/autoit]kannst du den Prozessnamen zu einer PID ermitteln. Um das dazugehörige Fenster heruaszufinden kannst du ja mit
[autoit]WinList
[/autoit]alle Fenster in ein Array speichern lassen. Dieses Array musst du dann in einer Schleife durchgehen und mit WinGetProcess (anhand der zurückgegeben FensterID) prüfen ob es sich um ein zu der PID gehöriges Fenster handelt, Ansatz:
Spoiler anzeigen
[autoit]#include<Array.au3>
[/autoit]
#include<WinAPI.au3>
#include<Process.au3>
$Fenster = WinList()
$size = $Fenster[0][0]+1
ReDim $Fenster[$size][6]
$Pid = InputBox("PID","gesuchte PID")
For $i = 1 To $Fenster[0][0]
$Fenster[$i][2] = _WinAPI_GetClassName($Fenster[$i][1])
$Fenster[$i][3] = WinGetText($Fenster[$i][1])
$Fenster[$i][4] = WinGetProcess($Fenster[$i][1])
$Fenster[$i][5] = _ProcessGetName($Fenster[$i][4])
if $Fenster[$i][4] = $Pid Then MsgBox(0,"Fenster-Handle zu Pid "& $Pid,$Fenster[$i][1])
Next
$Fenster[0][0] = "[Fenstertitel (Zahl: " & $Fenster[0][0] & ")]"
$Fenster[0][1] = "[HWND]"
$Fenster[0][2] = "[Fensterklasse]"
$Fenster[0][3] = "[Fenstertext]"
$Fenster[0][4] = "[PID]"
$Fenster[0][4] = "[Prozessname]"
_ArrayDisplay($Fenster)die Ausgabe in der MsgBox solltest du in separates Array schreiben,
mfg (Auto)Bert
-
wow ... gleich mit beispiel danke autobernd !
-
hey mal ne dumme frage
was ist eine PID???
-
Soweit ich weiss ist eine PID eine Process ID Leider hab ich das Englishe Wort für ID vergessen *wie Peinlich *
Aufjeden zeigt es die prozess identität oder so xD
-
ID steht für Identifier