【发布时间】:2016-03-10 12:52:41
【问题描述】:
支持
我想做的是找到一个窗口,尽管它是进程 ID,获取该窗口的名称并将其更改为我想要的东西。
我发现了一些关于它的东西:(代码 1)
int WINAPI GetWindowText(
_In_ HWND hWnd,
_Out_ LPTSTR lpString,
_In_ int nMaxCount
);
这个:(代码2)
CWnd* pWnd = GetDlgItem(); GetDlgIt
pWnd->SetWindowText(_T("WindowName"));
CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("WindowName"));
还有这个(代码 3)
HWND WindowHandel = FindWindowA(0, "WindowName");
DWORD proccesID = 0
GetWindowThreadProcessId(WindowHandel, &proccesID);
我的问题是: 我如何获取进程 ID,获取该进程的窗口名称,将其放入以便代码可以将 Hwnd 识别为我的窗口名称并将其更改为我想要的东西。 像这样:
Process = "anyprocess.exe"
Get Process ID <
Process ID = 1234567
Get window name from the ProcessID we have <
Window name = "ILoveYou"
Change "ILoveYou" to "IHaveYou"
如果我有多个同名窗口,有办法检查第一个打开的窗口,这样我就不会更改其他窗口?
在我的脑海中,从进程 ID 中获取 WindowName 似乎更安全,问题是我不想对代码说我知道窗口名称,我希望它像 Liam Neeson 一样找到并更改它对那些坏人做了。
而且我还想了解更多关于使用“(0,....”或“(NULL,....”)的信息,“FindWindowA”命令只是一个例子,我总是看到这个并且不要不知道怎么正确使用:
FindWindowA(0, "WindowName")
我想要的一个例子对我有很大帮助 =) 感谢您的耐心等待。
【问题讨论】:
标签: c++ windows window pid hwnd