2010-09-09 27 views

回答

2

您可以輕鬆使用Process類型來監視崩潰。

然而,這很難說,如果一個應用程序是「暫時繁忙」或實際上「掛」,所以我們需要做一些假設。

  • 可以說這是一個Windows窗體應用程序(在VB6中),它有一個活動的消息泵。

  • 讓我們也說,10秒的超時是「掛」程序的一個很好的跡象。

任何依賴該消息泵完成的函數都是掛起應用程序的一個很好的指示器,因爲它超出了超時時間。

您可以使用任何SendMessage命令基本上「加入」與其他應用程序的消息泵。

事情是這樣的:

[DllImport("user32.dll", CharSet = CharSet.Auto)] 
public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam); 
... 

NativeMethods.SendMessage(hWnd, NativeMethods.WM_GETTEXTLENGTH, IntPtr.Zero, IntPtr.Zero) 
相關問題