CPL_NEWINQUIRE

【勇芳软件工作室】汉化HomePreviousNext

CPL_NEWINQUIRE消息被发送到控制面板应用程序的CPlApplet功能,以请求有关应用程序支持的对话框的信息。

为了获得更好的性能,大多数应用程序应该忽略CPL_NEWINQUIRE并改为处理CPL_INQUIRE消息。CPL_NEWINQUIRE消息仅适用于需要根据计算机状态更改其图标或显示字符串的应用程序。

CPL_NEWINQUIRE

uAppNum = (UINT) lParam1; // 申请编号

lpncpli = (LPNEWCPLINFO) lParam2; //应用程序的结构信息。

参数

【uAppNum】

价值【lParam1】.指定对话框编号。这个数字必须在0到0的范围内,小于响应CPL_GETCOUNT消息(CPL_GETCOUNT - 1)返回的值。

【lpncpli】

价值【此消息已过时。当前版本的Windows不发送此消息。】.指定NEWCPLINFO结构的地址。控制面板应用程序应该填写有关对话框的信息。

返回值

如果CPlApplet功能成功处理此消息,则应返回零。

备注

控制面板会为应用程序支持的每个对话框发送一次CPL_NEWINQUIRE消息。控制面板还会为每个对话框发送一条CPL_INQUIRE消息。这些消息将在CPL_GETCOUNT消息后立即发送。但是,系统不保证发送CPL_INQUIRE和CPL_NEWINQUIRE消息的顺序。

您可以在收到CPL_INQUIRE时对话框执行初始化。如果您必须分配内存,请按照CPL_INIT消息进行。

CPL_NEWINQUIRE消息在Windows 3.1版中引入,代替CPL_INQUIRE。但是,CPL_INQUIRE是Windows 95和Windows NT版本4.0的首选消息。这是因为CPL_NEWINQUIRE以系统无法缓存的形式返回信息。因此,每次控制面板需要信息时,必须加载处理CPL_NEWINQUIRE的应用程序,导致性能显着降低。

应该使用CPL_NEWINQUIRE的唯一应用程序是那些需要根据计算机状态更改其图标或显示字符串的应用程序。在这种情况下,您的CPL_INQUIRE处理程序应为idicon idNamemtIDINFO CPLINFO结构的成员指定CPL_DYNAMIC_RES值,而不是指定有效的资源标识符。这将导致控制面板在每次需要图标和显示字符串时发送CPL_NEWINQUIRE消息,从而允许您根据计算机的当前状态指定信息。当然,这比使用缓存的信息要慢得多。

也可以看看

CPL_GETCOUNT, CPL_INIT, CPL_INQUIRE, CPlApplet, CPLINFO, NEWCPLINFO