0
可能重複:
close a message box from another program using c#的Visual Studio.NET關閉對話框
有我的計算機上的其他程序在同時顯示一個消息框,每一次。是否有可能使用.NET關閉這些對話框時彈出?
可能重複:
close a message box from another program using c#的Visual Studio.NET關閉對話框
有我的計算機上的其他程序在同時顯示一個消息框,每一次。是否有可能使用.NET關閉這些對話框時彈出?
使用FindWindow函數和SendMessage函數喜歡這裏http://www.codeproject.com/Articles/22257/Find-and-Close-the-Window-using-Win-API
您必須創建一個連續循環至極WINAPI功能關閉該窗口,如而(真)。我使用了一個定時器,因爲它更有效率。這裏是我的代碼:
[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();
}
其中WM_SYSCOMMAND = 0x0112 公共const int的SC_CLOSE = 0xF060;
如果您不知道窗口的類名(如上所述),請將null和消息框的標題用作參數。當然,這意味着消息框有一個標題。
http://www.codeproject.com/Articles/22257/Find-and-Close-the-Window-using-Win-API – Matthew
奇妙的讓我試試這個嗎?你認爲它可以在消息框中工作嗎? – Akshat
我認爲會。 – Matthew