2009-08-19 63 views
3

控制面板项目通常在HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace下注册,但很多内置面板未在此处列出,例如自动更新项目。控制面板项目图标(Windows XP)

我试图找出用于自动更新项目的图标在哪里。如果在平铺模式(48x48图标)中打开控制面板,则会看到该图标正在放大,但所有Windows Update文件中的所有图标资源都具有48x48的子图像,所以我无法弄清楚这一点。

这是一个与NVidia控制面板项目类似的故事:图标是黑色的,看起来从大于48x48的子图像缩小了,但实际的nvidia控制面板文件不包含这个黑色图标(而是他们有银色版本)。当我为控制面板项目创建快捷方式并检查其二进制位时,没有指定图标的路径,只有cpl文件本身(具有完全不同的图标)。我已经检查过注册表,那里也没有任何线索。

任何想法?

回答

2

控制面板程序可以用几种不同的方式进行注册,或没有(如果它们驻留在%system%文件夹):

Registering Control Panel Items

如果一个小程序没有注册在注册表中的图标信息,那么小程序必须在控制面板通过CPL_INQUIRE和/或CPL_NEWINQUIRE消息请求其CPLApplet()入口点时提供图标信息,在这种情况下,小程序不知道要返回的图标大小。听起来好像你正在遇到这种情况。