|
本帖最后由 LLJ 于 2019-11-13 16:55 编辑
更新说明:
1.修正取消关联不干净,导致文件还残留图标。
2.由于 删除zc项() 需要没有子项才能删除成功,改用 SHDeleteKeyA()
3.修正ICO文件路径没有添加引号,可能不支持带空格路径
|
文件_关联 | | | |
程序路径 | 文本型 | | | | 后缀 | 文本型 | | | | ICO图标路径 | 文本型 | | | | 文件类型 | 文本型 | | | | 关联名 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 所有后缀 | 文本型 | | 0 | a | 整数型 | | | 局_关联名 | 文本型 | | |
所有后缀 = 分割文本 (后缀, “|”, )如果 (删首尾空 (程序路径 ) = “”) 计次循环首 (取数组成员数 (所有后缀 ), a )局_关联名 = 取文本zc项 ( #根类, “.” + 所有后缀 [a ] + “\”, )SHDeleteKeyA ( #HKEY_CLASSES_ROOT, “.” + 所有后缀 [a ])SHDeleteKeyA ( #HKEY_CLASSES_ROOT, 局_关联名 )局_关联名 = 取文本zc项 ( #本地机器, “Software\Classes\.” + 所有后缀 [a ] + “\”, )SHDeleteKeyA ( #HKEY_LOCAL_MACHINE, “Software\Classes\.” + 所有后缀 [a ])SHDeleteKeyA ( #HKEY_LOCAL_MACHINE, “Software\Classes\” + 局_关联名 )局_关联名 = 取文本zc项 ( #现行用户, “Software\Classes\.” + 所有后缀 [a ] + “\”, )SHDeleteKeyA ( #HKEY_CURRENT_USER, “Software\Classes\.” + 所有后缀 [a ])SHDeleteKeyA ( #HKEY_CURRENT_USER, “Software\Classes\” + 局_关联名 )SHDeleteKeyA ( #HKEY_CURRENT_USER, “Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.” + 所有后缀 [a ])SHDeleteKeyA ( #HKEY_CURRENT_USER, “Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.” + 所有后缀 [a ])计次循环尾 ()如果真 (ICO图标路径 = “”)ICO图标路径 = 程序路径 如果真 (关联名 = “”)关联名 = 后缀 写zc项 ( #根类, 关联名 + “\”, 文件类型) 写zc项 ( #根类, 关联名 + “\EditFlags”, 2 ) 写zc项 ( #根类, 关联名 + “\Shell\Open\Command\”, #引号 + 程序路径 + #引号 + “ ” + #引号 + “%1” + #引号 ) 写zc项 ( #根类, 关联名 + “\DefaultIcon\”, #引号 + ICO图标路径 + #引号 + “,0”)计次循环首 (取数组成员数 (所有后缀 ), a )写zc项 ( #根类, “.” + 所有后缀 [a ] + “\”, 关联名 ) 计次循环尾 ()SHChangeNotify (134217728, 0, 0, 0) |
SHDeleteKeyA | 整数型 | | |
Shlwapi.dll | |
SHDeleteKeyA | |
hKey | 整数型 | | | pszSubKey | 文本型 | | |
|
评分
-
查看全部评分
|