2009-02-08 12 views
7

Wie können Sie eine Anwendung eines Drittanbieters (z. B. GoogleTalk oder Twhirl), die in der Taskleiste ausgeführt wird, programmgesteuert wiederherstellen und den Fokus darauf richten? Ich schreibe mein Dienstprogramm in C#, aber ich habe offensichtlich keine Kontrolle über die Anwendung von Drittanbietern.Wiederherstellen der Anwendung über die Taskleiste

Antwort

5

Verwenden Sie etwas wie FindWindow/FindWindowEx, um das ausgeblendete Fenster zu finden und sein Fensterhandle zu erhalten, und rufen Sie dann ShowWindow (Handle, SW_NORMAL) auf, um es zu verbergen.

Verwenden Sie ein Tool wie Spy ++ (zu finden im Visual Studio Tools-Menü), um die Parameter zu finden, die an FindWindow übergeben werden können, um das gewünschte Fenster zu finden.

+1

Was passiert, wenn das ausgeblendete Fenster einen Handle = 0 hat? – hawbsl

+0

AFAIK ein NULL-Handle stellt ein ungültiges HANDLE dar ... FindWindow gibt NULL zurück, wenn es beim Suchen des angegebenen Fensters fehlschlägt. –

0

Verwenden Sie einen API-Aufruf, um Mausklickereignisse an die Taskleiste zu senden? Google WM_SENDMSG SendMessage Win32 API für einen Startpunkt

Es gibt auch einen anderen API call für die Einstellung des Fokus, sobald das Fenster wieder hochgefahren ist.

Verwandte Themen