这不是一个复杂的问题。我无法找到属于 iTunes 的句柄。但是虽然 iTunes 在后台运行,但它一直告诉我找不到该窗口。所以我继续检查我是否错过了输入窗口名称,但是间谍++向我指出我使用了正确的窗口名称和类名称(见下文)。我确信这是一个小错误,但我似乎找不到它。有人有见解吗?提前致谢。
HWND hwnd;
hwnd = FindWindow((LPCWSTR)"iTunes",(LPCWSTR)"iTunes");
if (hwnd != 0){
cout << "WINDOW FOUND" << endl;
} else {
cout << "WINDOW NOT FOUND" << endl;
cout << hwnd << endl;
}
您正在使用 ANSI 字符串以及看似 Unicode 版本的FindWindow
.
许多Win32函数实际上是一对函数和一个宏。例如,FindWindow
大致定义如下:
HWND WINAPI FindWindowA(LPCSTR lpClassName, LPCSTR lpWindowName);
HWND WINAPI FindWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName);
#if (UNICODE)
# define FindWindow FindWindowW
#else
# define FindWindow FindWindowA
#endif
尝试明确调用FindWindowA
或者使用像这样的宽字符串:
HWND hwnd = FindWindow(L"iTunes", L"iTunes");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)