(14.08.2012 21:41 )kernhausen schrieb: Hallo,
mein Ziel ist es in Labview alle Namen der offenen Windowsfenster, also die Namen welche im Taskmanager unter Anwendungen stehen, aufzulisten. Da das begeehrte Fenster ständig seinen Namen ändert und ich es leid bin diesen immer wieder von Hand einzutippen.
Ich hoffe Ihr könnt mir eine Methodik oder DLL verraten, mit derer ich an die Namen komme. Mir ist selbst ist nur bekannt, dass ich durch LV die CMD-Konsole mit dem Befehl "listtasks" starten könnte und dann die Prozessnamen erhalte. Leider jedoch nicht die Fensternamen.
Vielen Dank
kernhausen
LV Version 2011
Dazu benötigt man EnumChildWindows() von user32.dll. Aber diese Funktion hat eine Callbackfunktion als Parameter und das geht in der LabVIEW Call Library Node nicht. Deshalb müsste man in C eine externe DLL schreiben die das macht und die man dann von LabVIEW aus aufrufen kann. Nicht ganz trivial.
Alternativ gibt es sicher irgendeine .Net Funktion dazu, aber ich beschäftige mich mit .Net nur, wenn es absolut unvermeidbar ist.