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%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
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.
Tags und Links c# windows-7 windows-vista taskbar