自动识别Windows分区和版本号,并根据系统版本分配对应的图标。(类似大白菜PE)
原理:获取已有盘符并搜索 Windows\System32\shell32.dll —> 获取 shell32.dll 版本号 —> 分配图标。
图标不用 .ico 是因为可能会遇到空白图标的情况,所以用 .dll 中的图标。
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\! FDRV YPPF=*: SED YPPF=0, X:,,%YPPF% FORX* %YPPF%,PFXF, { IFEX :e%PFXF%\Windows\System32\shell32.dll, { ENVI ?VER=FVER,%PFXF%\Windows\System32\shell32.dll SED VER=0,[^0-9], ,%VER% MSTR v1,v2,v3=<1*>%VER% ENVI WNT=%v1%%v2% IFEX [$%v1%<=6 & $%v3%<6000],ENVI ICON=0 IFEX [$%WNT%=60 $%WNT%=61],ENVI ICON=1 IFEX [$%WNT%=62 $%WNT%=63],ENVI ICON=2 IFEX [$%WNT%=100 & $%v3%<22000],ENVI ICON=3 IFEX [$%WNT%=100 & $%v3%>=22000],ENVI ICON=4 SED CBPF=0,:,,%PFXF% REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%CBPF%\DefaultIcon\=%CurDir%\icon.dll,%ICON% } }
//这样更准确获取版本号 REGI--r10 .HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\CurrentMajorVersionNumber,主 REGI--r10 .HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\CurrentMinorVersionNumber,次 REGI $HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\CurrentBuild,版 REGI--r10 .HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\UBR,本 //执行可以这样 REGI $HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\%CBPF%\DefaultIcon\\=%CurDir%\icon.dll,%ICON%
smss //这样更准确获取版本号 REGI--r10 .HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\CurrentMajo ...
学习了
感谢分享
🤪