zoukankan      html  css  js  c++  java
  • 怎样不重启设置字体边缘平滑立即生效! 以下注册表导入后不能立即生效。。

    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) 
    留字备用!!!!

  • 相关阅读:
    MySQL Explain详解
    sql查询:存在A表而不在B表中的数据
    mybatis处理集合、数组参数使用in查询
    mysql日期范围查找(两个日期之间的记录)
    MYSQL查询数据表中某个字段包含某个数值
    springboot+jpa分页(Pageable+Page)
    MySQL单表能存储多少条数据?
    nosql几种热门数据库的优缺点及应用场景
    MySQL百万级数据分页查询及优化
    Redis cluster群集操作
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/3120331.html
Copyright © 2011-2022 走看看