首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对进程隐藏TaskBar (c#)

对进程隐藏TaskBar (c#)
EN

Stack Overflow用户
提问于 2011-10-03 16:29:10
回答 1查看 435关注 0票数 0

在我的应用程序中,我想要在进程启动时隐藏windows TaskBar和StartMenuButton,并想在它退出时恢复它。

我可以使用以下命令来完成此操作:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2011-10-03 16:34:41

您可以通过将还原代码放在全局异常处理程序中来应对大多数崩溃。您可以通过设置unhandled exception handler来完成此操作

代码语言:javascript
复制
  AppDomain currentDomain = AppDomain.CurrentDomain;
  currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);


static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
    ShowWindow(taskBarHwnd, 0);
    ShowWindow(startButtonHwnd, 0);
}

这不能满足程序被终止的情况。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7632653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档