2010-08-05 4 views
1

Lorsque vous ouvrez Internet Explorer ou mozilla, une nouvelle tâche apparaît dans la barre des tâches.C# Désactivation de la fonctionnalité de la barre des tâches par programmation

Lorsque vous cliquez droit cet élément de la barre des tâches, il SAID

Restaurer, déplacer, taille, minimiser, maximiser, fermer.

Maintenant, j'ai une application qui n'utilise pas la taille, minimiser, maximiser ou fermer.

Est-ce que quelqu'un peut me donner une avance rapide ou en tête pour les désactiver?

Merci à l'avance -Kevin

Répondre

2

Vous pouvez utiliser la fonction SetWindowLong (http://msdn.microsoft.com/en-us/library/ms633591(VS.85).aspx).

[DllImport("user32.dll", SetLastError = true)] 
private static extern int GetWindowLong(IntPtr hWnd, int nIndex); 
[DllImport("user32.dll")] 
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); 

int GwlStyle = -16;  // GWL_STYLE 
int WsSysMenu = 0x80000; // WS_POPUP 

var hwnd = new WindowInteropHelper(this).Handle; 
SetWindowLong(hwnd, GwlStyle, GetWindowLong(hwnd, GwlStyle) & ~WsSysMenu); 

Vérifiez le lien ci-dessus pour plus d'informations sur ce que les valeurs de GwlStyle et WsSysMenu indiquent. Cela formera la fenêtre pour être une fenêtre contextuelle. Cependant, cela supprime également les boutons fermer, maximiser et minimiser en haut à droite.

+0

hmmm. cette réponse est correcte, mais elle l'obtient par la poignée de la fenêtre. Je voudrais qu'ils redimensionnent la fenêtre, mais ils ne devraient pas être en mesure de cliquer sur la taille de la barre des tâches, car le redimensionnement que j'ai est utilisé par un outil de poignée. – Kevin

+0

@Kevin Si vous mélangez 'Handle' avec la poignée de redimensionnement de la forme, s'il vous plaît faites quelques lectures sur winapi et handlers (http://www.codeproject.com/KB/winsdk/InsideWindHandles.aspx). Ici 'Handle' est un pointeur vers l'obet Form (ou winodw) utilisé par l'API Windows pour interagir avec elle et la fonction supprime les éléments de menu par défaut que vous obtenez en cliquant avec le bouton droit sur le bouton de la barre des tâches. – TheVillageIdiot

Questions connexes