2
タイトルとそのclassNameの一部しかわからない場合、どのようにしてウィンドウの記述子を取得できますか?タイトルの一部でWinApi FindWindow
タイトルとそのclassNameの一部しかわからない場合、どのようにしてウィンドウの記述子を取得できますか?タイトルの一部でWinApi FindWindow
FindWindow()
は完全なタイトルが必要です。 EnumWindows()
またはGetWindow()
をループで使用して、利用可能なすべてのウィンドウを列挙し、GetClassName()
およびGetWindowText()
を呼び出し、一致するものが見つかるまで値を検索条件と比較します。
このような何か:
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
wchar_t lpClassName[128] = {0};
MYSTRUCT* MS_INFO = (MYSTRUCT*)lParam;
GetClassName(hwnd, lpClassName, _countof(lpClassName));
if(strstr(lpClassName, MS_INFO -> lpClassName)) {
wchar_t lpWindowName[128] = {0};
GetWindowText(hwnd, lpWindowName, _countof(lpWindowName));
if(strstr(lpWindowName, MS_INFO -> lpWindowName)) {
...
}
}
}