博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎样不重启设置字体边缘平滑立即生效! 以下注册表导入后不能立即生效。。...
阅读量:4485 次
发布时间:2019-06-08

本文共 2266 字,大约阅读时间需要 7 分钟。

Windows Registry Editor Version 5.00

;                            视觉设置
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
"VisualFXSetting"=dword:00000000

 

以下两种办法刷新也无法立即生效。。但是手动设置能立即生效。。。由于以前做系统时把这个给去了 现在发现显示字体边缘模糊有锯齿。。。十分难堪。。。特此寻求解决方法。。

DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult")
Do 
        ProcessClose("explorer.exe")
Until Not ProcessExists("explorer.exe")
Run("gpupdate /force","",@SW_HIDE)

#Include <WinAPI.au3>

WinActivate ("[CLASS:CabinetWClass]")
_WinAPI_PostMessage(ControlGetHandle("[CLASS:CabinetWClass]", "", "SysListView321"),256,116,0); 刷新我的电脑
_WinAPI_PostMessage(ControlGetHandle("[CLASSrogman]", "", "SysListView321"),256,116,0);刷新桌面
Func _Update_Explorer()
Local $bOld = Opt("WinSearchChildren", True)
Local $a = WinList("[CLASS:SHELLDLL_DefView]")
For $i = 0 To UBound($a) - 1
DllCall("user32.dll", "long", "SendMessage", "hwnd", $a[$i][1], "int", 0x111, "int", 28931, "int", 0)
Next
Opt("WinSearchChildren", $bOld)
EndFunc;==>_Update_Explorer
DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0) 
1、最有效的: 
结束explorer.exe,缺点时资源管理器被关,有些窗口被关,出现无任务栏桌面状态,虽然可以生效,但不推荐。 
[ Copy ] [ Run ] [ Save ]
Do
ProcessClose("explorer.exe") 
Until Not ProcessExists("explorer.exe")
2、调用SendMessageTimeout。效果不理想。
[ Copy ] [ Run ] [ Save ]
DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult") 
3、调用组策略刷新设置工具,测试无效
[ Copy ] [ Run ] [ Save ]
Run("gpupdate /force",@SystemDir)
4、又一刷新注册表的API,非常强捍。效果不错
[ Copy ] [ Run ] [ Save ]
DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0)
5、刷新桌面
[ Copy ] [ Run ] [ Save ]
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
6chinanewxp的函数,可以刷新注册表改文件图标后即时生效。
[ Copy ] [ Run ] [ Save ]
MyUpdateREG()
Func MyUpdateREG()
Global Const $HWND_BROADCAST=0xFFFF
Global Const $WM_SETTINGCHANGE=0x1A
DLLCall("user32.dll","int","SendMessage","hwnd",$HWND_BROADCAST,"int",$WM_SETTINGCHANGE,"int","", "int", "")
EndFunc

 

测试了一下,直接用API搞定:

DllCall('USER32.DLL','dword','SystemParametersInfo','dword',75,'dword',1,'dword',2,'dword',0x1) 
留字备用!!!!

 

转载于:https://www.cnblogs.com/MaxWoods/archive/2013/06/06/3120331.html

你可能感兴趣的文章
mini web框架-3-替换模板
查看>>
Siamese Network简介
查看>>
第六节 MongoDB 状态监控、备份复制及自动分片
查看>>
svg学习(三)rect
查看>>
博客园博文生成章节目录
查看>>
ruby 模块 的引入
查看>>
CI Weekly #21 | iOS 持续集成快速入门指南
查看>>
xml 校验
查看>>
Jquery获取输入框属性file,ajax传输后端,下载图片
查看>>
深入浅出Visual_C动态链接库(Dll)编程(宋宝华)----整理(word)
查看>>
docker运行环境安装-后续步骤(二)
查看>>
Python学习——02-Python基础——【3集合与函数】
查看>>
NPOI导出excel表格应用
查看>>
tensorflow从入门到放弃-0
查看>>
解锁scott用户
查看>>
多态的理解
查看>>
AspNet Core 发布到Linux系统和发布IIS 注意项
查看>>
Windows添加.NET Framework 3.0 NetFx3 失败 - 状态为:0x800f0950
查看>>
隐藏显示终端的光标(shell echo,linux c printf)
查看>>
SQL Server 存储过程
查看>>