【问题标题】:C# - Check if Handle is activeC# - 检查句柄是否处于活动状态
【发布时间】:2021-11-28 12:33:41
【问题描述】:

有一个名为“ProcessHacker”的任务管理器替代方案。 有了它,您可以检查句柄是否处于活动状态并正在运行。

我想在我的 C# 程序中添加类似的东西,搜索一个特定的句柄,如果句柄存在,请做 smth...

我可以使用参考、nuget 或 smth 吗?

感谢您的帮助:)

【问题讨论】:

  • 调用Process.GetProcesses()并遍历所有进程?
  • Process.GetProcesses().Where(....).
  • 另外,如果你已经有一个特定的句柄,你可以直接使用Process.GetProcessById(handle)打开进程。注意:您的应用程序可能需要管理员权限才能修改某些进程。

标签: c# handle taskmanager


【解决方案1】:
var process = Process.GetProcesses().Where(p => p.Handle.ToInt32() == 0x3b4);

正如马修·沃森所说:

var process = Process.GetProcessById(0x3b4);

将直接使用句柄获取该进程。前者的结果是一个 IEnumerable。

【讨论】:

  • var process = Process.GetProcessById(0x3b4);
  • @MatthewWatson,没错。我也想展示其他属性的情况。结果将是一个 IEnumerable BTW。
  • 非常感谢 :)
猜你喜欢
  • 1970-01-01
  • 2020-01-11
  • 2019-12-10
  • 1970-01-01
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 2017-12-30
相关资源
最近更新 更多