首页 新闻 会员 周边

windows 性能选项视觉效果更改用C#怎么实现

0
悬赏园豆:50 [已解决问题] 解决于 2015-10-22 15:02

计算机--》属性--》高级--》性能(设置)---》视觉效果--》更改框内的内容值

用c#怎么实现更改?

1.修改注册表?

修改注册表要修改到那些项?找的HCU\Control Panel\Desktop 下面的键值,修改好像不行,特别是选择项为“调整为最佳外观的”时候,修改注册表,不会将其变为自定义

2.SystemParametersInfo function?

http://msdn.microsoft.com/en-US/library/ms724947(VS.85).aspx#Window

这个在选项为非“自定义”的时候也是无效。然后修改怎么都不准确,不知道怎么回事

 

那么请问:

怎么能将选择调整到选择“自定义”,然后再去修改?c#

还有没有其他的办法实现?

卍兲卐的主页 卍兲卐 | 初学一级 | 园豆:59
提问于:2014-08-27 10:46
< >
分享
最佳答案
0

应该是用SystemParametersInfo ,只要你修改了设置,就算是自定义了,所以修改之前可能要改成“自定义”,再去改。

 

[DllImport("user32.dll", SetLastError = true)] static extern bool SystemParametersInfo(int uiAction, int uiParam, IntPtr pvParam, int fWinIni);

收获园豆:40
XiaoFaye | 老鸟四级 |园豆:3087 | 2014-08-27 11:02

怎么才能修改为自定义呢?事实上用SystemParametersInfo去修改只有在自定义的时候才有效,并不会因为我修改了就变为了自定义,或者是我要怎么去修改之后通知系统进行修改到自定义?

卍兲卐 | 园豆:59 (初学一级) | 2014-08-27 11:07

@卐兲卍: 

用SystemParametersInfo 加 SPI_SETNONCLIENTANIMATION就可以更改,看看SDK找相应的参数。

来源:http://blogs.msdn.com/b/oldnewthing/archive/2014/01/23/10491935.aspx

XiaoFaye | 园豆:3087 (老鸟四级) | 2014-08-27 11:50
其他回答(1)
0
收获园豆:10
dudu | 园豆:31003 (高人七级) | 2014-08-27 12:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册