模态窗口中止后外部应用程序仍然冻结

时间:2014-10-02 00:10:12

标签: c# .net winforms

我面对的似乎是另一个Windows Bug。我需要显示一个窗口,该窗口是另一个应用程序的主窗口的模态。我这样做的方法是首先获取其他应用程序进程的窗口句柄:

var handle = Process.GetProcessById(appProcId).MainWindowHandle;

然后我使用该句柄创建IWin32Window

IWin32Window owner = new MyWindowHandleWrapper(handle);

MyWindowHandleWrapperIWin32Window接口的简单实现。)

然后我创建一个表单并在IWin32Window上显示模态:

var form = new ...
form.ShowDialog(owner);

如果一切正常,这就像是一种享受。但是,如果创建模式窗体的应用程序崩溃,或者被杀死(例如,从任务管理器中),那么表单在其上方以模态显示的应用程序窗口仍将被冻结。

这真的只是我需要忍受的另一个Windows脑损伤,或者我能做些什么呢?

我使用的是.NET 2.0,VS 2010,Windows 7。

0 个答案:

没有答案