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);
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
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure de mettre ensemble une solution qui n'a pas besoin de toutes les thread de l'énumération. Voici les parties pertinentes.
Si vous déclarez
FindWindowEx
comme suitVous pouvez alors accéder à la poignée de la fenêtre pour le Début de l'Orbe comme ceci:
et désactiver le Début de l'Orbe comme ceci:
La clé de cette méthode est que nous utilisons la
IntPtr
type pour le nom de classe de la variable au lieu d'une chaîne de caractères dans leFindWindowEx
fonction. Cela nous permet d'utiliser la partie de cette fonction qui prend unATOM
type plutôt qu'unstring
. J'ai été en mesure de discerner que le particulierATOM
à utiliser est à0xC017
de ce post:Masquer Vista Start Orb
Espère que cette version simplifiée aide certaines personnes.
Mise à JOUR:
J'ai créé ce nouveau Projet De Code De La Page de documenter ce processus.
OriginalL'auteur Waylon Flinn