Joachim B. schrieb:
mir war aber nie klar wie man aus der dos shell diese ID bekommt und
welches Fenster gerade aktiv ist.
Jedes Windows-Programm darf Win32-API-Funktionen aufrufen, und beispielsweise alle Fensterklassennamen laufender Prozesse mit Fenstern auflisten lassen. Zusätzlich lassen sich Fensterhandles bestimmen, und an die können Nachrichten versendet werden.
Aus dem, was Du "dos shell" nennst, heraus geht das jedoch nicht mit Bordmitteln.
Programme wie "AutoIt" aber machen genau das.
Das von mir vorhin erst verlinkte Spy++ kann einem diese Informationen anzeigen, wenn man sich dafür interessiert.
Bei derartigen Aufgaben besonders widerspenstig sind Programme, die ihren eigene GUI-Renderer verwenden und nicht auf dem Windows-Fensterunterbau aufbauen. Diese rendern ihre GUI in eine große Bitmap und lassen Windows diese anzeigen. Da gibt es dann für Bedienelemente innerhalb der Anwendung keinerlei Informationen mehr, während ein herkömmliches Windows-Programm sich auf jeden einzelnen Button, jedes Icon und jede Textzeile hin sezieren und gezielt ansteuern lässt.