在 Win32 中,如何检测 HWND 是否为对话框?
In Win32, How can I detect if a HWND is a dialog?
在纯 C Win32 应用程序中,如何检测 HWND
是否为 a dialog?
使用GetClassLong()
找到它的class原子。除非它是用自定义 window class 创建的(极不可能),否则它的 class 将是 WC_DIALOG
.
if ( WC_DIALOG == MAKEINTATOM(GetClassLong(hWnd, GCW_ATOM)) )
{
/* this is a dialog */
}
对话框的标准 class 名称为 "#32770"
。您可以使用 GetClassName()
/RealGetWindowClass()
1 检查 window 是否正在使用对话框 class.
1:见What makes RealGetWindowClass so much more real than GetClassName?
在纯 C Win32 应用程序中,如何检测 HWND
是否为 a dialog?
使用GetClassLong()
找到它的class原子。除非它是用自定义 window class 创建的(极不可能),否则它的 class 将是 WC_DIALOG
.
if ( WC_DIALOG == MAKEINTATOM(GetClassLong(hWnd, GCW_ATOM)) )
{
/* this is a dialog */
}
对话框的标准 class 名称为 "#32770"
。您可以使用 GetClassName()
/RealGetWindowClass()
1 检查 window 是否正在使用对话框 class.
1:见What makes RealGetWindowClass so much more real than GetClassName?