我正在创建一个 dll 文件。
我的代码:
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);
void test() {
EnumWindows(EnumWindowsProc, NULL);
}
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
char class_name[80];
char title[80];
GetClassName(hwnd, (LPWSTR) class_name, sizeof(class_name));
GetWindowText(hwnd, (LPWSTR) title,sizeof(title));
std::string titlas(title);
std::string classas(class_name);
Loggerc(titlas);
Loggerc("Gooing");
return TRUE;
}
然后我就打电话test()
。
在日志中,titlas
为空并且代码停止。
当我在带有 CodeBlock 的 Win32 应用程序中尝试此代码时,一切正常,所有标题都显示。但是在dll中,它不起作用。
哪里有问题?