CPL_NEWINQUIRE消息
发送到 控制面板 应用程序的 CPlApplet 函数,以请求有关应用程序支持的对话框的信息。
parameters
-
uAppNum
-
对话框编号。 此数字的范围必须为 0 到 1,小于响应 CPL_GETCOUNT 消息 (CPL_GETCOUNT返回的值 1) 。
-
lpncpli
-
NEWCPLINFO 结构的地址。 控制面板应用程序应在此结构中填充有关对话框的信息。
返回值
如果 CPlApplet 函数成功处理此消息,它应返回零。
备注
为了提高性能,大多数应用程序应忽略 CPL_NEWINQUIRE 并改为处理 CPL_INQUIRE 消息。
控制面板为应用程序支持的每个对话框发送一次CPL_NEWINQUIRE消息。 控制面板还会为每个对话框发送CPL_INQUIRE消息。 这些消息在 CPL_GETCOUNT 消息后立即发送。 但是,系统不保证 发送CPL_INQUIRE 和 CPL_NEWINQUIRE 消息的顺序。
收到 CPL_INQUIRE时,可以为对话框执行初始化。 如果必须分配内存,请执行此操作以响应 CPL_INIT 消息。
CPL_INQUIRE 是首选消息。 这是因为 CPL_NEWINQUIRE 以系统无法缓存的形式返回信息。 因此,每次控制面板需要信息时,都必须加载处理CPL_NEWINQUIRE的应用程序,从而导致性能显著降低。
应使用 CPL_NEWINQUIRE 的唯一应用程序是那些需要根据计算机状态更改其图标或显示字符串的应用程序。 在这种情况下,CPL_INQUIRE处理程序应为 CPLINFO 结构的 idIcon、idName 或 idInfo 成员指定CPL_DYNAMIC_RES值,而不是指定有效的资源标识符。 这会导致控制面板在每次需要图标和显示字符串时发送CPL_NEWINQUIRE消息,从而允许您根据计算机的当前状态指定信息。 当然,这比使用缓存信息要慢得多。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|