Entwickler-Ecke

Windows API - Fremdes Programm verstecken, inkl Taskbar eintrag


Guenni_d - Do 01.01.04 20:19
Titel: Fremdes Programm verstecken, inkl Taskbar eintrag
Hallo zusammen,

ja ich weiss bezüglich Systray gibts einiges zu lesen hier..aber mein Problem ist ein wenig anders gelagert:

Ich möchte ein fremdes Programm verstekcen, wenn es minimiert wird (oder auf Knopfdruck). Und natürlich auch hin und wieder per Knopfdruck öffnen.

Verstecken hab ich mit folgendem Code probiert:


Delphi-Quelltext
1:
2:
whand:=findwindow(NIL,'Fremdes programm');
if whand <>0 then  ShowWindow(reporter, SW_HIDE) ;


Ergebnis: Das Programm verschwindet, aber nicht der Eintrag in der Taskbar. Der bleibt weiterhin zu sehen. Wie bekomm ich den weg?

Achja: noch ne Frage: wie bekomm ich raus, wie der Status eines Programmes ist ? also zum beispiel minimized usw...

Günter

Moderiert von user profile iconPeter Lustig: Delphi-Tags hinzugefügt


Pascal - Do 01.01.04 21:40

Dein Code funktioniert bei 1-Fenster anwendungen(z.B. IE, Ordnern,...) aber z.B. bei Delphi bleibt eben der Taskbareintrag da.
Um den zu entfernen musst du das 'Programm' minimieren.
bei Delphi hat das 'Programm' den Classname 'TApplication', wie aber auch einige andere(z.B. meistens das Eigene). Also muss man das 'Programm' genauer definieren, z.B. mit einem Child-Window:


Delphi-Quelltext
1:
showwindow(findwindowex(0,findwindow(  'TAppbuilder'  ,nil),  'TApplication'  ,nil),sw_hide);