当前位置: 代码迷 >> Windows Mobile >> 坛子里的牛人请进,这个有关问题困扰两天了,请问的高手都没搞定。全寄希望CSDN了
  详细解决方案

坛子里的牛人请进,这个有关问题困扰两天了,请问的高手都没搞定。全寄希望CSDN了

热度:98   发布时间:2016-04-25 07:53:22.0
坛子里的牛人请进,这个问题困扰两天了,请教的高手都没搞定。全寄希望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
  相关解决方案