[原创]调用 api 实例(强制刷新系统,即更改注册表立即生效,不用重启explorer)
2023-8-29 2184
收藏
点赞 2
分享
https://www.123pan.com/s/NflRVv-Cm5Sh
最新回复 (61)
  • avatar image
    jonyzhr 2023-9-1

    这个感觉不错哦,感谢分享

    WINST
  • avatar image
    若梦成空 2023-9-7

    感谢分享!!!

  • avatar image
    relei 2023-9-9

    感谢分享

  • avatar image
    zhonghaibiao 2023-9-11

    感谢分享

  • avatar image
    USER555 2023-9-27

    感谢分享

  • avatar image
    AllenMu 2023-10-10

    我好好学习学习去

    学习永无止境
  • avatar image
    hwp81226 2023-10-15

    谢谢分享

    pecmd爱好者
  • avatar image
    anson4 2023-10-29
    527104427 这个方法好!已收录到1楼。多管齐下,总有一种方法凑效

    在无忧上看到另一个写法,不知道是不是跟调用API是一样的:ENVI @@POSTMSG=65535;273;41504;Null

    http://bbs.wuyou.net/forum.php?mod=viewthread&tid=436677&extra=page%3D1

    还有个问题,这两个在XP下都没有生效。

    单机计算
  • avatar image
    爱心会员VIP会员
    527104427 2023-10-29
    楼主   34
    anson4 在无忧上看到另一个写法,不知道是不是跟调用API是一样的:ENVI @@POSTMSG=65535;273;41504;Null http://bbs.wuyou.net/forum.php?mod ...

    这个写法跟你的代码是一样的,没区别。估计xp没有这么高级的api

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    爱心会员VIP会员
    527104427 2023-10-29
    楼主   35
    anson4 在无忧上看到另一个写法,不知道是不是跟调用API是一样的:ENVI @@POSTMSG=65535;273;41504;Null http://bbs.wuyou.net/forum.php?mod ...

    XP的试下这个有没有用:

    set^ EnviMode=1
    set^ ForceLocal=1
    set shcne_assocchanged=0x08000000
    set shcnf_idlist=0x0000
    call $--qd Shell32.dll,SHChangeNotify,#%shcne_assocchanged%,#%shcnf_idlist%,#0,#0
    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    忘记时间 2023-11-4

    感谢分享

    爱折腾
  • avatar image

    效果不错,感谢分享

  • avatar image
    宝丰太平 2023-12-13

    非常有用,感谢分享

    风清云淡,致高望远
  • avatar image
    smss 2023-12-13

  • avatar image
    smss 2023-12-13

    WIN11系统 换主题用这个无效 有空研究下

  • avatar image
    smss 2023-12-13
    //删除(隐藏)快捷箭头 需要刷新图标 实测无效
    REGI ~HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons\\29=%%SystemRoot%%\system32\imageres.dll,198
    //REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons\\!
    envi @@DeskTopFresh=clearicon;1
    call SendMessage
    exit
    _sub SendMessage
    	set hwnd_broadcast=0xffff
    	set wm_settingchange=0x1a
    	set smto_abortifhung=0x0002
    	set$# IntPtr.Zero=*8 0
    	call $--qd User32.dll,SendMessageTimeoutW,#%hwnd_broadcast%,#%wm_settingchange%,*IntPtr.Zero,#0,#%smto_abortifhung%,#100,*IntPtr.Zero  //如果该函数成功,则返回值为非零值。 如果使用hwnd_broadcast,SendMessageTimeout 不会提供有关单个窗口超时的信息。如果函数失败或超时,则返回值为 0。 要获得更多的错误信息,请调用 GetLastError。 如果 GetLastError 返回 ERROR_TIMEOUT,则函数超时。Windows 2000: 如果 GetLastError 返回 0,则函数超时。
    
    	set wm_command=0x0111
    	set$# IntPtr.Zero=*8 0
    	call $--qd --bool User32.dll,PostMessageW,#%hwnd_broadcast%,#%wm_command%,#41504,*IntPtr.Zero  //如果该函数成功,则返回值为非零值。如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
    _end
  • avatar image
    Jerry75 2023-12-22

    感谢分享

  • avatar image
    yxldh 2023-12-30

    感谢分享 学习一下

  • avatar image
    littlepoor 2024-2-26

    Thanks for sharing

    You can save a lot of time by seeing it my way
  • avatar image
    jtkim 2024-3-18

    thanks

    PE~
  • avatar image
    blue003 2024-4-25

    感谢分享

    pecmd不错的编程
  • avatar image
    NEKO 2024-4-29

    感谢分享

    ...
  • avatar image
    twfbaby 2024-4-30

    感谢分享

  • avatar image
    ff2604 2024-5-1

    感谢分享

    5/127
  • avatar image
    xiaoyu756295 2024-5-7

    有源代码吗?

返回