Hide Start Orb auf Vista / Win 7 in C #

8

Beim Ausblenden der Taskleiste unter Vista und Windows 7 wird die Start-Schaltfläche (auch Start-Orb genannt) nicht ausgeblendet. Ich habe nach einer Lösung gesucht, und ich habe eine gefunden, aber es scheint komplexer als nötig. Dieser CodeProject-Artikel beschreibt (und enthält Code für) eine Lösung, in der Sie alle untergeordneten Fenster aller Threads auflisten der Prozess, der das Startmenü enthält.

Hat jemand eine einfachere Lösung gefunden?

Nur als Referenz. Der Code zum Ausblenden der Taskleiste (ohne die Orb zu verstecken) lautet wie folgt. Führen Sie zuerst die erforderlichen Win32-Importe und -Deklarationen durch.

%Vor%

Rufen Sie sie dann in einer Methode mit den richtigen Argumenten

auf %Vor%     
Waylon Flinn 22.07.2009, 14:52
quelle

1 Antwort

12

Ich konnte eine Lösung zusammenstellen, die nicht die ganze Thread-Aufzählung erforderte. Hier sind die relevanten Teile.

Wenn Sie FindWindowEx wie folgt deklarieren

%Vor%

Sie können dann wie folgt auf den Fenstergriff für die Start-Kugel zugreifen:

%Vor%

und deaktivieren Sie die Start Orb wie folgt:

%Vor%

Der Schlüssel zu dieser Methode ist, dass wir den Typ IntPtr für die Variable className anstelle einer Zeichenfolge in der Funktion FindWindowEx verwenden. Dies ermöglicht uns, den Teil dieser Funktion zu verwenden, der einen ATOM -Typ und nicht string verwendet. Ich konnte feststellen, dass das zu verwendende ATOM bei 0xC017 von diesem Post liegt: Hide Vista Start Orb

Ich hoffe, dass diese vereinfachte Version einigen Leuten hilft.

UPDATE: Ich habe diese neue Code-Projektseite erstellt, um diesen Prozess zu dokumentieren.

    
Waylon Flinn 22.07.2009, 15:00
quelle