xsharp.eu • Array mit Prozessen - Page 5
Page 5 of 5

Array mit Prozessen

Posted: Mon Feb 03, 2020 2:31 pm
by lagraf
Hallo,
bei der Funktion

Code: Select all

FUNCTION GetWinList() AS ARRAY PASCAL
	// Ermittelt die aktiven Tasks und speichert ProcessName und MainWindowTitle in ein Array
	LOCAL aWin := {} AS ARRAY

	FOREACH oProcess AS Process IN Process.GetProcesses()
		AAdd(aWin, {oProcess:ProcessName, oProcess:MainWindowTitle})
	NEXT
	RETURN aWin
werden die Captions meiner ShellWindows nicht korrekt ermittelt. Der ProcessName ist zwar da, aber beim MainWindowTitle ist meist ein Leerstring drin. Kann man die Caption irgendwie damit ermitteln oder muss ich auf Wolfgangs Funktion mit EnumWindowsProc zurückgreifen?

Array mit Prozessen

Posted: Mon Feb 03, 2020 9:53 pm
by FFF
Seltsam.
"Meine" Captions werden aufgelistet.

Ich hätte ja gesagt: "...Einem Prozess ist nur dann ein Hauptfenster zugeordnet, wenn der Prozess über eine grafische Benutzeroberfläche verfügt. Wenn der zugeordnete Prozess nicht über ein Hauptfenster verfügt (sodass MainWindowHandle NULL ist), ist MainWindowTitle eine leere Zeichenfolge ("")....
Aber wenn Du schreibst, "Shellwindows", dann ist offensichtlich eine GUI im Einsatz.

Array mit Prozessen

Posted: Tue Feb 04, 2020 6:01 am
by lagraf
Hallo Karl,
du hast Recht, an der Stelle, wo ich abfrage, ist das ShellWindow noch nicht geöffnet, dadurch darf ich die abfragende App nicht mitzählen. Die Anzahl der gleichen Fenster muß ich deshalb auf > 0 statt auf > 1 abfragen, dann funktionierts!