2010-11-27 10 views
1

J'essaie de désactiver ou masquer un bouton dans une autre applicationou désactiver le bouton cacher dans une autre application

je reçois la MANCHE du bouton, mais quand je l'appelle SendMessage

[DllImport("user32.dll", SetLastError = true)] 
public static extern bool SendMessage(IntPtr hWnd, uint Msg, int wParam, 
    bool lParam); 

bool x = SendMessage(hndl, TB_HIDEBUTTON, 0, false); 

rien ne se passe et x toujours renvoie false. J'ai également essayé TB_DELETEBUTTON

+0

Juste pour mentionner quelque chose ici. À moins que le programme n'exprime une API pour désactiver ou masquer ce bouton, c'est généralement une ** très mauvaise idée ** de jouer avec. Si vous êtes chanceux, le programme fonctionnera bien, mais si vous êtes malchanceux, il pourrait tomber en panne ... ou pire. –

Répondre

3

Vous envoyez un mauvais message. Obtenez un handle sur le bouton et appelez EnableWindow(hndl, FALSE); à la place (ou si vous souhaitez le masquer, essayez ShowWindow(hndl, SW_HIDE);). TB_HIDEBUTTON est un message de fenêtre utilisé pour masquer le bouton dans une barre d'outils.

+0

merci beaucoup OJ il a déjà beaucoup travaillé – bahgat

+1

Qu'avez-vous fait pour le faire fonctionner? Si ma suggestion est correcte, pouvez-vous accepter la réponse? –

0

Si vous voulez faire cela, il y a un problème avec votre code, vous devez fournir l'identificateur de bouton comme troisième paramètre de SendMessage, passez à link text pour référence.