Masquer Start Orb sur Vista / Win 7 en C#

Lors de cacher la Barre des Tâches sur Windows Vista et Windows 7, le Bouton de Démarrage (aussi connu comme le Début de l'Orbe), n'est caché. J'ai été à la recherche d'une solution à cela et j'ai trouvé un mais il semble plus complexe que nécessaire.
Cette CodeProject article décrit (et il contient le code pour) une solution où vous énumérer toutes les fenêtres enfants de tous les threads du processus qui contient le menu démarrer.

Quelqu'un a trouvé une solution plus simple?

Juste pour la référence. Le code pour cacher la Barre des Tâches (sans cacher l'Orb) est comme suit. D'abord faire le nécessaire Win32 importations et des déclarations.

[DllImport("user32.dll")]
private static extern IntPtr FindWindow(string className, string windowText);

[DllImport("user32.dll")]
private static extern int ShowWindow(IntPtr hwnd, int command);


private const int SW_HIDE = 0;
private const int SW_SHOW = 1;

Puis, dans une méthode quelque part, avec les bons arguments

IntPtr hwndTaskBar = FindWindow("Shell_TrayWnd", "");
ShowWindow(this.hwndTaskBar, SW_HIDE);
Je pense que c'est un peu un double question. Quelqu'un l'a déjà posté demandant comment masquer la barre des tâches et la solution donnée est d'avoir la forme.WindowState = FormWindowState.Agrandie; le formulaire.FormBorderStyle = FormBorderStyle.None; Cette liste déroulante doit masquer la barre des tâches assez bien. Je n'ai aucun problème à faire cela sur Win7. N'essayez pas sur Vista.
Que de ne pas cacher la Barre des Tâches. Il couvre.
Voir stackoverflow.com/questions/505167/...
Ah... vous voulez aller loin altogehter? 🙂
Vous pouvez créer une fenêtre secondaire qui couvre l'écran, et laissez vos autres fenêtres de faire ce qu'ils souhaitent. Ne vous encombrez pas de cacher la barre des tâches manuellement -- ce que si deux programmes? Ou si votre programme se bloque avant il obtient une chance à l'afficher?

OriginalL'auteur Waylon Flinn | 2009-07-22