BigBasti's Blog About Me & my Digital Lifestyle

19Mrz/102

.NET: Taskleiste und Start Button ausblenden

Vor einer Weile habe ich einen Artikel geschrieben, in dem ich zeige wie man die Windows Taskleiste ausblenden kann, sodass nur der Startbutton übrig bleibt. Nun wollen wir auch noch den Startbutton entfernen, sodass von der Taskleiste nichts mehr übrig bleibt!

Das Vorgehen ist hierbei fast das gleiche, der Unterschied besteht nur darin, dass der Prozess, der für die Anzeige des Start-Buttons verwendet wird etwas schwerer zu finden ist! Diesen Prozess werdet ihr vergeblich in der Process.getProcesses() Übersicht des .NET Frameworks suchen.

Hier müssen wir so vorgehen wie in dem Beitrag "Alle Sichtbaren Prozesse auflisten" und benutzen deshalb die Windows Funktion "EnumWindows" die uns alle Fensterprozesse liefert, inklusive dem Start-Button Prozess.

Suchen müssen wir hier den Prozess mit dem Titel "Start" und von der Klasse "Button". Ich habe hier um die Arbeit zu erleichtern 2 kleine Klassen geschrieben. (Ich werde bald eine Library veröffentlichen mit weiteren Funktionen)


            ProcessListDemo.Windows windows = new ProcessListDemo.Windows();

            foreach (ProcessListDemo.Window w in windows.lstWindows)
            {
                if (w.winTitle == "Start" && w.winClass == "Button" && w.winVisible == true)
                {
                    sbHandle = w.winHandle;
                    if (sbHandle != IntPtr.Zero)
                    {
                        ShowWindow(sbHandle, 0);
                    }
                    else
                    {
                        //Fehler
                    }
                }
            }

Wenn man nun das Handle des Startbuttons hat kann man mit der Windows Funktion ShowWindow das Fenster bzw. den Button ausblenden.

Bild 1: Demoanwendung kann nun auch den Startbutton verschwinden lassen

Wundert euch nicht, dass der Button nicht verschwindet wenn ihr den Code ausführt, denn erst wenn auch die Taskleiste verschwunden ist ist auch der Button weg. Also kann man nur den Button anzeigen oder Taskleiste und Button. Nur die Taskleiste (also ohne den Start Knopf) Geht leider nicht!

Probiert es einfach mit der Demoanwendung aus:

.

.

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Yigg
  • Google Bookmarks
  • PDF
  • MySpace
  • email
  • Identi.ca
  • Twitter

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (2) Trackbacks (0)
  1. Bloggd: .NET: Taskleiste und Start Button ausblenden – http://blog.bigbasti.com/net-taskleiste-... #net

  2. Es muss aber irgendwie gehen, nur den Start-Button zu entfernen, Start-Killer schafft das auch.

  3. Das geht auch! Ich habe das Demo-Projekt “Alle Prozesse auflisten” um die Funktion erweitert, Fenster zu verstecken, und wenn ich über die Auflistung das Handle abfrage und dann die ShowWindow-Funktion benutze, geht dies Einwandfrei (also sollte es natürlich auch so gehen ^^).


Leave a comment

(required)

Noch keine Trackbacks.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes