扩展任务管理器 Windows 8

Posted

技术标签:

【中文标题】扩展任务管理器 Windows 8【英文标题】:Extending Task Manager Windows 8 【发布时间】:2013-01-16 20:28:25 【问题描述】:

我想知道是否有任何方法可以用 C# 之类的语言扩展任务管理器,但我也可以使用 C++ 或其他任何可行的语言。 我想添加一些新功能,例如搜索、终止同名的所有进程以及想到的其他功能,但我不知道要开始。

注意:我不想替换它或从头重写它,只是添加一些新功能。 我还找到了这个链接Is it possible to add functionality to Vista/7 taskmgr.exe?,但它是针对 VIsta/7 的,考虑到它已经完全重新设计,我只是希望在 8 中有所改变。

谢谢

【问题讨论】:

【参考方案1】:

如果我是正确的,您想知道是否有办法通过基于插件的方法(如 Office/Ie/Outlook 插件)扩展 TaskManager。 答案是不。 然而,我有一种不同的方法可以帮助你做你想做的事,但会做更多的工作。 我建议的是基于 Com 互操作的注入和覆盖。 使用 Spy++,您可以看到 TaskManager 窗口的窗口类/属性是什么。然后你需要编写一个最小化的程序(系统托盘?!)并监视一些识别窗口/类名称以在消息系统中弹出。 Windows 消息可以被拦截和挂接。 http://www.codeproject.com/Articles/33459/Spying-Window-Messages-from-the-Inside 可能会有所帮助。 一旦你得到你的窗口句柄。您可能需要找到选项卡控制组。并注入一个新的选项卡元素。发布您可以将您认为的任何内容放入选项卡元素的帖子。

这是推测性的,并且假设您要添加的所有新更改最终都会出现在新标签中。

我希望这对您有所帮助。

PS:虽然答案并不完全是推测性的。对于我工作场所的一些内部使用,我制作了一个原型,它可以做一些类似于 Outlook 的事情,并覆盖一些默认功能,这些功能本身并没有被 Add in 框架公开。请注意,这将需要大量测试并且有些不可靠/不稳定

【讨论】:

我见过其他代码将自身注入/挂钩到taskmgr.exe。显然,恶意软件会以某种频率执行此操作,因此它可以从进程列表中隐藏其进程。在这方面,我唯一的建议是,如果您必须注入代码/使用钩子,请确保您的代码经过良好测试且稳定。如果您的代码将在内部运行或影响另一个进程,那么它应该始终是“好公民”。 说得对。请记住,这势必会给宿主应用程序带来稳定性问题。最小化副作用的方法是注入一个 UIElement,它可以转换为标准的 winForm/wpf 控件。然后使用它。一定程度的间谍和消息监控应该会引导您找到合适的候选人。 这似乎是最好的主意,我希望使用新的任务管理器他们会添加一些可扩展性功能,但显然我错了。如果明天我没有收到更好的答案,我会将您的答案标记为正确。顺便说一句,谢谢你 另请注意,将自己注入 taskmgr.exe 可能会导致防病毒软件将您标记为潜在恶意软件。 Taskmgr.exe 没有可扩展性点,因为这样做会破坏其高可靠性的能力(因为有时它是您唯一可用的东西来解开楔形机器)。

以上是关于扩展任务管理器 Windows 8的主要内容,如果未能解决你的问题,请参考以下文章

C# 如何正确设置 Windows 8 任务管理器的程序集标题?

windows 10打开任务管理器怎么选择关系设置

windows任务管理器和任务列表中显示不同的内存使用情况

关于Windows任务管理器的问题

Windows 7 的任务管理器有啥作用?如何打开它

谁知道Windows里任务管理器中各项后台进程都各是做啥的?