坛子里的牛人请进,这个问题困扰两天了,请教的高手都没搞定。全寄希望CSDN了
之前发过贴的,没人理我。
重新说一遍,我现在需要将setting->system里面的“背景灯(backlight)”设置项里面增加一项“亮度调节”,相当于我要改写微软的cpl程序。根据文档提示,如果是改写已有的cpl,可以通过重写一个exe(Backlight.exe),然后在注册表里面重写一下就可以,文档提示如下:
Implementation
The OEM's Platform.reg registry file handles the Control Panel application replacement.
Use the following registry key to override the replacement:
Copy Code
[HKEY_LOCAL_MACHINE\ControlPanel\Backlight|Buttons|Contrast|Power]
"Redirect"="\\path\\to\\new\\target.exe plus command parameters"
但是我把我写好exe放在windows目录下面,然后在[HKEY_LOCAL_MACHINE\ControlPanel\下面新建了一个Backlight项,然后在Backlight下面新建字符串:Redirect,值为:\windows\Backlight.exe.
关机后重启,进入setting->system里面没有我的新backlight,而且原来系统自带的backlight设置也没有了。
我的exe就是一般的应用程序。
高人请指点一下,问题出在哪里?
多谢了.
[解决办法]
SORRY,上次的回答有误:
如果你想全部替换,应该如此写:
[HKEY_LOCAL_MACHINE\ControlPanel\Backlight]
"Redirect"="\\Windows\\ctlpnl.exe BackLightme.cpl"
如果你只想增加一个属性页:
[HKEY_CLASSES_ROOT\CLSID\{35BB6BE5-45E7-41b1-80E7-7A088E6AD34B}]
@="BackLightAjust"
[HKEY_CLASSES_ROOT\CLSID\{35BB6BE5-45E7-41b1-80E7-7A088E6AD34B}\InProcServer32]
@="Bright.dll"
"ThreadingModel"="Free"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{35BB6BE5-45E7-41b1-80E7-7A088E6AD34B}"="BackLightAjust"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Extensions\Controls Folder\Backlight\shellex\PropertySheetHandlers\{35BB6BE5-45E7-41b1-80E7-7A088E6AD34B}]
@=""
前面一种方式很容易实现;
后面一种方式你可以参看一段代码,在这个目录下面
Public\Shellw\Oak\Samples\Testprop