【发布时间】:2019-08-30 12:19:52
【问题描述】:
我想通过单击任务栏中的图标来获取进程 ID 以获取唯一标识符,因为可能会出现多次打开此应用程序的情况。
有什么方法吗?这给了我我所关注的应用程序的进程 ID?
我想从一个应用程序中获取信息,但在此之前,我需要知道他想要跟踪哪个应用程序,因为它可能会发生,该应用程序被多次打开并且有多个应用程序被打开不同的版本,但名称相同。
我试图在互联网上找到一些现有的例子,但似乎直到现在还没有人遇到过这个问题。
下面的代码只是为我提供了我自己的应用程序的 ID,但相反,它应该“等待”直到我改变了我对在任务栏中单击的应用程序的关注。
private void TextBox1_Click(object sender, EventArgs e)
{
//wait until focus is set on new application
{
Process prcsToTrack = Process.GetCurrentProcess();
int processID = prcsToTrack.Id;
TextBox1.Text = processID.ToString();
}
}
也许你们中的某个人已经掌握了这个问题或一些想法,可以向我展示一些结果。
【问题讨论】:
-
SetWinEventHook =>
(idProcess = 0, idThread = 0, Min/Max = EVENT_SYSTEM_CAPTURESTART, flags = WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNPROCESS | WINEVENT_SKIPOWNTHREAD)。或 UI 自动化。 -
这是XY Problem。请询问问题而不是您提出的解决方案。
标签: c# .net windows pid visual-studio-2019