-3
我是C++新手,几个星期前我开始学习。 此刻,我试图将一个特定类名的所有窗口的标题存储在一个动态字符串数组中。 到现在为止我已经将LIST定义为一个全局变量,但是我想使用本地变量并将其传递给EnumWindows函数。C++ EnumWindows,将列表存储在字符串数组中
string* LIST=new string[10];
int N;
int main(){
N=0;
EnumWindows((WNDENUMPROC)CreateList,0);
for(int i=0;i<N;i++){
cout << LIST[i]<< endl;
}
return 0
}
BOOL CreateList(HWND hWnd, long lParam){
char TitleArray[255], ClassArray[255];
GetWindowText(hWnd,TitleArray,254);
GetClassName(hWnd,ClassArray,254);
string ClassString=ClassArray;
string TitleString=TitleArray;
if (ClassString=="CLASS_NAME"){
LIST[N]=TitleString;
N++;
}
return TRUE;
}
你试图解决什么问题? – SergeyA
如果您必须将回调过程(第一个参数转换为'EnumWindows'),那么您已声明它不正确。 –
为什么不把你的字符串存储在'std :: vector'中? –