根据
MSDN,CreateWindowEx的lpClassName参数是可选的.
lpClassName [in,optional]
但是,文档没有提到传递NULL的含义.更重要的是,如果传递NULL,则窗口管理器无法为新窗口找到窗口过程.
那么,文档是错误的吗?或者它是否正确并且有一些场景,其中NULL是lpClassName的有效值?
CreateWindowEx的lpClassName参数声明为LPCTSTR,但它实际上可以是指向字符串的指针,也可以是RegisterClass或RegisterClassEx返回的类原子.
理想情况下,类型注释会准确指定此参数允许的内容,但我想注释语言没有一种方法来描述与其声明类型不匹配的事物类型.
他们可以做的最好的事情是将其声明为可选,以指示该字符串可能无效.