RealGetWindowClass 和 GetClassName 之间有什么区别?(或者什么是“窗口类型”与“窗口类名”?)

Gre*_*jan 5 windows user-interface winapi

MSDN上的描述有区别,但是,我不明白文本的含义是什么。

GetClassName函数检索指定窗口所属的类的名称。RealGetWindowClass 函数检索指定窗口类型的字符串。

例如使用 windows calc.exe
从 GetClassName 你得到“SciCalc”
从 RealGetWindowClass 你得到“#32770”

我想我真正要问的是什么是“窗口类型”与“窗口类名”?

Bra*_*non 5

请参阅以下文章:http://forums.wincustomize.com/3258 deadlink\n更新的链接https://blogs.msdn.microsoft.com/oldnewthing/20101231-00/?p=11863

\n\n

摘要:
\n添加了 Real... 函数以支持 Windows 辅助功能。Real\xc2\xadGet\xc2\xadWindow\xc2\xadClass 的目标是帮助辅助工具识别它正在使用的窗口类型,即使应用程序以超类的形式进行了一些伪装。

\n\n

如果您向 Real\xc2\xadGet\xc2\xadWindow\xc2\xadClass 询问窗口的类名,它会挖掘所有超类并返回基类的名称(如果基类是标准窗口管理器之一)类)。例如,如果您的应用程序对按钮类进行了超类化,则对 Get\xc2\xadClass\xc2\xadName 的调用将返回 Awesome\xc2\xadButton,但对 Real\xc2\xadGet\xc2\xadWindow\xc2\xadClass 的调用将返回按钮。

\n