【发布时间】:2020-10-20 02:07:52
【问题描述】:
在纯 C Win32 应用程序中,如何检测 HWND 是否为 a dialog?
【问题讨论】:
在纯 C Win32 应用程序中,如何检测 HWND 是否为 a dialog?
【问题讨论】:
使用GetClassLong() 找到它的类原子。除非它是使用自定义窗口类创建的(不太可能),否则它的类将是 WC_DIALOG。
if ( WC_DIALOG == MAKEINTATOM(GetClassLong(hWnd, GCW_ATOM)) )
{
/* this is a dialog */
}
【讨论】:
对话框的标准类名称为"#32770"。您可以使用GetClassName()/RealGetWindowClass() 1 来检查窗口是否正在使用对话框类。
1:见What makes RealGetWindowClass so much more real than GetClassName?
【讨论】: