如果我只知道其标题的一部分及其className,我如何获取窗口的描述符?
答案 0 :(得分:5)
FindWindow()
需要完整标题。在循环中使用EnumWindows()
或GetWindow()
来枚举所有可用的窗口,在每个窗口上调用GetClassName()
和GetWindowText()
,并将这些值与搜索条件进行比较,直至找到一场比赛。
答案 1 :(得分:2)
这样的事情:
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 ) ) {
...
}
}
}