我一直在尝试使用enumwindows列出我当前的窗口,并且一直在使用此代码格式cplusplus
include <iostream>
include <windows.h>
using namespace std;
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);
int Main(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pCmdLine, int iCmdShow)
{
EnumWindows(EnumWindowsProc, NULL);
return 0;
}
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
char class_name[80];
char title[80];
GetClassName(hwnd,class_name, sizeof(class_name));
GetWindowText(hwnd,title,sizeof(title));
cout <<"Window title: "<<title<<endl;
cout <<"Class name: "<<class_name<<endl<<endl;
return TRUE;
}
main()曾经是winmain但是我想使用控制台应用程序来读取输出,所以我把它切换到main,我在构建时遇到了一个未解决的外部错误:
错误LNK2001:未解析的外部符号
[code [“int stdcall EnumWindowsProc(struct HWND *,long)”(?EnumWindowsProc @@ YGHPAUHWND __ @@ J @ Z)执行link.exe时出错[/ code]
我在XP上使用旧版本的Visual C ++,我已经包含了kernel32 lib和user32 lib,任何想法都错了吗?
感谢。