进程终止后清理 AppBar
我编写了一个应用程序桌面工具栏(又名 AppBar),它工作得很好,除了如果我终止进程,AppBar 代码永远没有机会通过发送 ABM_REMOVE 进行清理。 问题是这基本上会破坏用户的桌面。 AppBar 是使用互操作代码在 .NET 中编写的。
有谁知道清理此资源的方法,即使在任务管理器终止进程的情况下也是如此?
I have written an Application Desktop Toolbar (a.k.a AppBar), it works great except for the fact that if I kill the process, the AppBar code never gets a chance to cleanup by sending an ABM_REMOVE. The problem is that this basically screws the users desktop up. The AppBar is written in .NET using interop code.
Does anyone know of a way to clean this resource up, even in the case of a process kill from TaskManager?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当从任务管理器终止进程时,该应用程序内不会引发任何事件。 通常使用单独的帮助程序应用程序来侦听进程的 Win32_ProcessStopTrace 事件。 您可以使用 WqlEventQuery,它是 System.Management 的一部分。
以下是来自 MegaSolutions 帖子。
When a process is killed from Task Manager, no events are raised within that application. It's common to use a seperate helper application that listens for the Win32_ProcessStopTrace event for your process. You can use the WqlEventQuery, which is part of System.Management for this.
Here is some example code for this from a MegaSolutions post.