是否可以通过进程名称从窗口获取function formatResult_User(item) {
var markup = '@Html.Partial("_UserCardTemplate")';
return Mustache.render(markup, view);
}
?
每次重启(随机windowname)时窗口的名称都会改变,如下所示:
我刚刚通过窗口名称找到了一些东西。
答案 0 :(得分:1)
进程和窗口之间的连接并不明显。首先,一个进程可以有几个窗口。其次,看起来Windows API没有提供基于进程查找窗口的方法(我觉得很奇怪,因为你的截图显示了这一点)。
但是,您可以浏览所有打开的窗口并根据进程进行过滤。请参阅此问题并详细解答如何执行此操作:Find Window and change it's name
答案 1 :(得分:-3)
我找到了这个解决方案,但是我为一个进程ID获得了多个HWND
#include <Windows.h>
void GetAllWindowsFromProcessID(DWORD searchPID, std::vector <HWND> &wnds)
{
HWND hCurWnd = NULL;
do
{
hCurWnd = FindWindowEx(NULL, hCurWnd, NULL, NULL);
DWORD processID = 0;
GetWindowThreadProcessId(hCurWnd, &processID);
if (searchPID == processID)
{
wnds.push_back(hCurWnd);
}
} while (hCurWnd != NULL);
}
int main()
{
DWORD PID = 0x00001D7C;
std::vector<HWND> HWND_List;
GetAllWindowsFromProcessID(PID, HWND_List);
return 0;
}