私は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
コールバックプロシージャ(第1パラメータを 'EnumWindows'にキャスト)する必要がある場合は、それを間違って宣言しています。 –
文字列を 'std :: vector'に保存してみませんか? –