• 批处理刷新图标


    原文地址: https://www.cnblogs.com/daysme/
    标签: 批处理 cmd bat 刷新桌面 刷新图标 立即生效
    昨天写的一文件关联的小工具里有一个关联图标的功能,遇到一个问题,就是关联的图标不能马上生效。
    网上大多数的刷新方法都是 taskkill /f /im explorer.exe >nul 2>nul&start explorer.exe ,这种方法可以更新图标。但是用户打开的资源管理器窗口会被关闭,开得比较少还好,多的话就尴尬了,重新打开都要半天,体验非常不好。
    为了解决这个问题,第二天我还是在想有没有其他的解决方法。因为我觉得有时候刷新图标并没有都把资源管理器关闭呀,那么人家用的是什么方法呢?一定还有其他方法。
    对了,为什么自己的代码里关联扩展名的时候图标是立即生效的?是修改这个特殊的地方的注册表导致的吗?那关联图标也修改了类似的注册表了。
    还有一个可疑的地方是 assoc ,一个用于修改文件类型关联的命令。试了一下,就是他!使用他时系统会自动刷新缓存。那么问题来了,我们必须使用一个文件类型去关联吗?为了刷新图标而去添加一个关联,好像是产生了些副作用。
    然后继续寻找其他的方法,但是都没有找到没有副作用的,以下对这些刷新方法进行整理和比较。

      REM taskkill 用户窗口被关闭
      taskkill /f /im explorer.exe >nul 2>nul&start explorer.exe
      assoc 有多余添加
      assoc exe=exefile
      REM regsvr32.exe 图标有白块
      regsvr32.exe /s /n /i:/UserInstall %SystemRoot%system32	hemeui.dll
      REM inf 代码太多
      >%tmp%	mp.inf (
          echo;[Version]
          echo;Signature=$Chicago$
          echo;[DefaultInstall]
      )
      rundll32 SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 %tmp%	mp.inf
      REM inf 需要%1是有效inf,win7报错:您选中INF文件不支持此安装方法
      %SystemRoot%System32InfDefaultInstall.exe "%1"
    

    网上有一些类似 txt=textfileexe=exefile 的方法, exe 这个比较容易让人接受一点,因为 exe 类型是几乎不会被修改成其他类型了。谈到几乎不会被修改的话,我倒可以改成这样 .=. 应该也比较保险,试了一下方便有效。

  • 相关阅读:
    hihocoder_offer收割编程练习赛53_2hiho字符串3
    hihocoder_offer收割编程练习赛53_1继承顺位
    网易招聘笔试题--牛牛的背包问题
    EJB3.0快速入门
    MyEclipse的常用快捷操作----非常实用!!!
    Spring2.5零散笔记
    Hibernate零散笔记
    一个问题引发的OOA&OOD讨论.
    如何使用JUnit进行单元测试
    Log4j自学笔记
  • 原文地址:https://www.cnblogs.com/daysme/p/8371025.html
Copyright © 2020-2023  润新知