Ich bin neu in C++, begann ich erst vor ein paar Wochen zu lernen. Im Moment versuche ich den Titel aller Fenster mit einem bestimmten Klassennamen in einem dynamischen String-Array zu speichern. Bisher habe ich LIST als globale Variable definiert, aber ich möchte eine lokale Variable verwenden und sie an die EnumWindows-Funktion übergeben.C++ EnumWindows, speichern Sie die Liste in einem String-Array
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;
}
Was ist das Problem, das Sie versuchen zu lösen? – SergeyA
Wenn Sie einen Callback-Proc (1. Param zu "EnumWindows") casten müssen, haben Sie es falsch deklariert. –
Warum speichern Sie Ihre Strings nicht in einem 'std :: vector'? –