在我的应用程序中,我想要在进程启动时隐藏windows TaskBar和StartMenuButton,并想在它退出时恢复它。
我可以使用以下命令来完成此操作:
IntPtr startButtonHwnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, (IntPtr)0xC017, null);
IntPtr taskBarHwnd = FindWindow("Shell_TrayWnd", "");
ShowWindow(taskBarHwnd, 0);
ShowWindow(startButtonHwnd, 0);这对我来说工作得很好。现在我看到了一种情况,如果我的进程由于某种原因崩溃或被用户强行终止,我将无法恢复TaskBar。
对于这两个(崩溃和死亡)情况,有什么方法可以恢复它吗?
我也在与Windows Gadget交互,当我的应用程序中的某个按钮被单击时,我会显示一个Gadget窗口,所以我不能使用像Form.TopMost = true & Screen.PrimaryScreen.Bounds这样的属性
谢谢,
Vikram
发布于 2011-10-03 16:34:41
您可以通过将还原代码放在全局异常处理程序中来应对大多数崩溃。您可以通过设置unhandled exception handler来完成此操作
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
ShowWindow(taskBarHwnd, 0);
ShowWindow(startButtonHwnd, 0);
}这不能满足程序被终止的情况。
https://stackoverflow.com/questions/7632653
复制相似问题