Utiliser les fonctions FindWindow et SendMessage WinAPI comme ici http://www.codeproject.com/Articles/22257/Find-and-Close-the-Window-using-Win-API
Vous devez créer un wich boucle ferme cette fenêtre continue, comme while (true). J'ai utilisé un minuteur parce que c'est plus efficace. Voici mon code:
[DllImport ("user32.dll")] public static extern IntPtr FindWindow (String sClassName, String sAppName);
[DllImport ("user32.dll")] public static extern int SendMessage (IntPtr hWnd, uint Msg, int wParam, int lParam);
Timer t;
public Form1()
{
InitializeComponent();
t=new Timer();
t.Interval=100;
t.Tick+=delegate
{
IntPtr w=FindWindow (null, "Message box title");
if (w!=null) SendMessage (w, 0x0112, 0xF060, 0);
};
t.Start();
}
Où WM_SYSCOMMAND = 0x0112 public const int SC_CLOSE = 0xF060;
Si vous ne connaissez pas le nom de la classe de la fenêtre (comme ci-dessus), utilisez le titre null et le titre de la boîte de message comme paramètres. Bien sûr, cela signifie que la boîte de message a un titre.
http://www.codeproject.com/Articles/22257/Find-and-Close-the-Window-using-Win-API – Matthew
fantastique laissez-moi essayer ça? Pensez-vous qu'il fonctionnera sur les boîtes de message? – Akshat
Je pense que ce sera le cas. – Matthew