CPL_INQUIRE

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

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

CPL_INQUIRE

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

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

参数

【uAppNum】

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

【lpcpli】

价值【此消息已过时。当前版本的Windows不发送此消息。】.指向CPLINFO结构。应用程序必须为该结构填充图标的资源标识符,缩写名称,描述以及与对话框关联的任何用户定义的值。

返回值

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

备注

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

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

在Windows 95和Windows NT版本4.0上,系统将缓存由CPL_INQUIRE使用的CPLINFO结构中返回的信息。这提供了更好的性能,因为系统只需要首次在控制面板启动时加载应用程序。另一方面,CPL_NEWINQUIRE消息以系统无法缓存的形式返回信息。因此,大多数CPlApplet函数应处理CPL_INQUIRE并忽略CPL_NEWINQUIRE。

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

也可以看看

CPL_GETCOUNT, CPL_INIT, CPL_NEWINQUIRE, CPlApplet, CPLINFO