易语言通过注册表将易文件关联修复的源码

 更新时间:2018-11-25 06:00:16   作者:佚名   我要评论(0)

DLL命令表


.版本 2
.DLL命令 API_SendMessage, 整数型, "user32", "SendMessageA"
.参数 窗口句柄, 整数型
.参数 消息值, 整数型
.参数 参数一, 整数型

DLL命令表

.版本 2
.DLL命令 API_SendMessage, 整数型, "user32", "SendMessageA"
 .参数 窗口句柄, 整数型
 .参数 消息值, 整数型
 .参数 参数一, 整数型
 .参数 参数二, 整数型
.DLL命令 API_SendMessageTimeout, 整数型, "user32", "SendMessageTimeoutA", , ,
 .参数 hWnd, 整数型, , 要接收消息的一个窗口的句柄
 .参数 Msg, 整数型, , 消息的标识符
 .参数 wParam, 整数型, , 由消息决定
 .参数 lParam, 整数型, , 由消息决定
 .参数 fuFlags, 整数型, , 下述常数的一个或多个;SMTO_ABORTIFHUNG:如目标进程挂起,则函数立即返回;SMTO_BLOCK:除非函数返回,否则调用线程不能处理消息;SMTO_NORMAL:允许调用线程处理消息,同时保持函数继续执行
 .参数 uTimeout, 整数型, , 超时值,采用毫秒为单位
 .参数 lpdwResult, 整数型, 传址, 用于装载函数结果的一个变量;
.DLL命令 注册表_RegDeleteKeyA, 整数型, "advapi32.dll", "RegDeleteKeyA", 公开, _注册表_删除项删除现有项下方一个指定的子项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , 一个已打开项的句柄,或者标准项名之一
 .参数 lpSubKey, 文本型, , 要删除项的名字。这个项的所有子项也会删除;
.DLL命令 注册表_RegCloseKey, 整数型, , "RegCloseKey", 公开, _注册表_关闭项 advapi32.dll关闭系统注册表中的一个项(或键) 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , 要关闭的项;
.DLL命令 注册表_RegCreateKeyA, 整数型, , "RegCreateKeyA", 公开, _注册表_创建项 advapi32.dll在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , 要打开项的句柄,或者一个标准项名
 .参数 lpSubKey, 文本型, , 欲创建的新子项。可同时创建多个项,只需用反斜杠将它们分隔开即可。例如level1\level2\newkey
 .参数 phkResult, 整数型, 传址, 指定一个变量,用于装载新子项的句柄;
.DLL命令 注册表_RegOpenKeyA, 整数型, "advapi32.dll", "RegOpenKeyA", 公开, _注册表_打开项 打开一个现有的注册表项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , 一个已打开项的句柄,或指定一个标准项名
 .参数 lpSubKey, 文本型, , 要打开的项名
 .参数 phkResult, 整数型, 传址, 指定一个变量,用于装载(保存)打开注册表项的一个句柄;
.DLL命令 注册表_RegEnumKeyA, 整数型, "advapi32.dll", "RegEnumKeyA", 公开, _注册表_枚举子项
 .参数 hKey, 整数型
 .参数 dwIndex, 整数型
 .参数 lpName, 文本型, 传址
 .参数 cbName, 整数型
.DLL命令 注册表_RegQueryValueExA, 整数型, "advapi32.dll", "RegQueryValueExA", 公开, _注册表_取值获取一个项的设置值 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , 一个已打开项的句柄,或者指定一个标准项名
 .参数 lpValueName, 文本型, , 要获取值的名字
 .参数 lpReserved, 整数型, , 未用,设为零
 .参数 lpType, 整数型, 传址, 用于装载取回数据类型的一个变量
 .参数 lpData, 字节集, 传址, 用于装载指定值的一个缓冲区
 .参数 lpcbData, 整数型, 传址, 用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数;
.DLL命令 注册表_RegDeleteValueA, 整数型, "advapi32.dll", "RegDeleteValueA", , _注册表_删除值删除指定项下方的一个值 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , 一个已打开项的句柄,或标准项名之一
 .参数 lpValueName, 文本型, , 要删除的值名。可设为vbNull或一个空串,表示删除那个项的默认值;
.DLL命令 注册表_RegFlushKey, 整数型, "advapi32.dll", "RegFlushKey", , _注册表_实际写入将对项和它的子项作出的改动实际写入磁盘 Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
 .参数 hKey, 整数型, , Long,欲刷新的一个项的句柄,或指定一个标准项名

常量数据表

.版本 2
.常量 HWND_BROADCAST, "65535"
.常量 WM_SETTINGCHANGE, "26"
.常量 SMTO_NORMAL, "0"
.常量 图标126, "<文本长度: 5>", , ,-126 红
.常量 图标127, "<文本长度: 5>", , ,-127 蓝
.常量 图标134, "<文本长度: 5>", , ,-134 红

注册表删除代码

.版本 2
.程序集 注册表
.子程序 _打开项, 整数型
.参数 项名称, 文本型
.参数 是否创建, 逻辑型, 可空, 默认为假:打开 真:如果项不存在则创建项
.局部变量 局_根句柄, 整数型
.局部变量 局_项句柄, 整数型
.局部变量 局_项文本, 文本型
.局部变量 局_位置, 整数型
.局部变量 b, 整数型
局_位置 = 寻找文本 (项名称, “\”, , 假)
局_项文本 = 取文本左边 (项名称, 局_位置 - 1)
.判断开始 (局_项文本 = “HKEY_CLASSES_ROOT”)
 局_根句柄 = 2147483648
.判断 (局_项文本 = “HKEY_CURRENT_USER”)
 局_根句柄 = 2147483649
.判断 (局_项文本 = “HKEY_LOCAL_MACHINE”)
 局_根句柄 = 2147483650
.判断 (局_项文本 = “HKEY_USERS”)
 局_根句柄 = 2147483651
.判断 (文本比较 (局_项文本, “HKEY_CURRENT_CONFIG”, 假) = 0)
 局_根句柄 = 2147483653
.默认
 返回 (0)
.判断结束
.如果 (是否创建)
 b = 注册表_RegCreateKeyA (局_根句柄, 取文本右边 (项名称, 取文本长度 (项名称) - 局_位置), 局_项句柄)
.否则
 b = 注册表_RegOpenKeyA (局_根句柄, 取文本右边 (项名称, 取文本长度 (项名称) - 局_位置), 局_项句柄)
.如果结束
.如果真 (b = 0)
 返回 (局_项句柄)
.如果真结束
返回 (0)
.子程序 注册表_枚举子项, 整数型, 公开, 枚举指定项名称下的子项(成功返回子项目数,失败返回-1)
.参数 项名称, 文本型
.参数 子项, 文本型, 可空 数组, 获取的子项数组
.局部变量 局_a, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_项名, 文本型
清除数组 (子项)
局_a = _打开项 (项名称)
.如果真 (局_a = 0)
 返回 (-1)
.如果真结束
局_项名 = 取空白文本 (256)
.判断循环首 (注册表_RegEnumKeyA (局_a, 局_计次, 局_项名, 256) = 0)
 加入成员 (子项, 局_项名)
 局_计次 = 局_计次 + 1
 处理事件 ()
.判断循环尾 ()
注册表_RegCloseKey (局_a)
返回 (取数组成员数 (子项))
.子程序 注册表_删除项, 逻辑型, 公开, 删除指定项名称以及它的所有子项与键值
.参数 项名称, 文本型, , 欲删除的项名称,尾部不要加"\"
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 c, 整数型
.局部变量 子项, 文本型, , "0"
.局部变量 局_计次, 整数型
.如果真 (取文本右边 (项名称, 1) = “\”)
 返回 (假)
.如果真结束
c = 倒找文本 (项名称, “\”, , 假)
a = _打开项 (取文本左边 (项名称, c))
.如果真 (a = 0)
 返回 (假)
.如果真结束
.计次循环首 (注册表_枚举子项 (项名称, 子项), 局_计次)
 注册表_删除项 (项名称 + “\” + 子项 [局_计次])
.计次循环尾 ()
b = 注册表_RegDeleteKeyA (a, 取文本右边 (项名称, 取文本长度 (项名称) - c))
注册表_RegCloseKey (a)
返回 (b = 0)
.子程序 注册表_是否存在, 逻辑型, 公开, 判断指定注册项名称(键名)是否存在(存在返回真,否则返回假)
.参数 项名称, 文本型, , 欲判断的项名称
.参数 键名, 文本型, 可空, 欲判断的键名.如果为空则只判断项名称是否存在
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 值, 字节集
a = _打开项 (项名称)
.如果真 (是否为空 (键名))
 注册表_RegCloseKey (a)
 返回 (a ≠ 0)
.如果真结束
值 = 取空白字节集 (256)
b = 注册表_RegQueryValueExA (a, 键名, 0, 0, 值, 256)
注册表_RegCloseKey (a)
返回 (b = 0)
.子程序 注册表_删除键名, 逻辑型, 公开, 删除指定项下的某个键名
.参数 项名称, 文本型, , 欲删除键名所在的项名称
.参数 键名, 文本型, , 欲删除的键名
.局部变量 a, 整数型
.局部变量 b, 整数型
a = _打开项 (项名称)
.如果真 (a = 0)
 返回 (假)
.如果真结束
b = 注册表_RegDeleteValueA (a, 键名)
注册表_RegCloseKey (a)
.子程序 注册表_刷新项, 逻辑型, 公开, 将对项和它的子项作出的改动实际写入磁盘
.参数 项名称, 文本型
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 值, 字节集
a = _打开项 (项名称)
.如果真 (a = 0)
 返回 (假)
.如果真结束
b = 注册表_RegFlushKey (a)
注册表_RegCloseKey (a)
返回 (b = 0)

易文件关联修复代码

.版本 2
.支持库 eAPI
.程序集 窗口程序集_启动窗口
.程序集变量 局部_路径, 文本型
.子程序 __启动窗口_创建完毕
图片框2.图片 = #ICON_e1
图片框3.图片 = #ICON_e2
图片框4.图片 = #ICON_EC
图片框5.图片 = #ICON_EDB
图片框6.图片 = #ICON_FNE
图片框7.图片 = #ICON_LIB
判断注册表 ()
.子程序 判断注册表, , , 根据注册表项键值判断是否关联
.如果真 (注册项是否存在 (#根类, “E.Document\shell\open\command\”) = 真)
 局部_路径 = 取文本注册项 (#根类, “E.Document\shell\open\command\”, )
 局部_路径 = 取文本左边 (局部_路径, 取文本长度 (局部_路径) - 5)
 编辑框_易语言主程序.内容 = 局部_路径 ' + “e.exe”
 通用对话框.初始目录 = 局部_路径
 .如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.e”))
  .如果 (取文本注册项 (#根类, “.e\”, ) = “E.Document”)
   .如果 (寻找文本 (取文本注册项 (#根类, “E.Document\shell\open\command\”, ), 编辑框_易语言主程序.内容, , 假) ≠ -1)
    选择框_易语言源码_文件双击打开.选中 = 真
    选择框_易语言源码_文件双击打开.禁止 = 真
   .否则
    选择框_易语言源码_文件双击打开.选中 = 真
   .如果结束
   .如果 (寻找文本 (取文本注册项 (#根类, “E.Document\DefaultIcon\”, ), 编辑框_易语言主程序.内容, , 假) ≠ -1 或 文件是否存在 (取文本注册项 (#根类, “E.Document\DefaultIcon\”, )) = 真)
    选择框_易语言源码_图标显示.选中 = 真
    选择框_易语言源码_图标显示.禁止 = 真
   .否则
    选择框_易语言源码_图标显示.选中 = 真
   .如果结束
   .如果 (注册项是否存在 (#根类, “.e\ShellNew\NullFile”) = 真)
    选择框_易语言源码_右键新建易程序.选中 = 真
    选择框_易语言源码_右键新建易程序.禁止 = 真
   .否则
    选择框_易语言源码_右键新建易程序.选中 = 真
   .如果结束
  .否则
   选择框_易语言源码_文件双击打开.选中 = 真
   选择框_易语言源码_图标显示.选中 = 真
   选择框_易语言源码_右键新建易程序.选中 = 真
  .如果结束
  .如果 (取文本注册项 (#根类, “.e8\”, ) = “E8.Document”)
   .如果 (寻找文本 (取文本注册项 (#根类, “E8.Document\DefaultIcon\”, ), 编辑框_易语言主程序.内容, , 假) ≠ -1 或 文件是否存在 (取文本注册项 (#根类, “E8.Document\DefaultIcon\”, )) = 真)
    选择框_易语言配置信息_图标显示.选中 = 真
    选择框_易语言配置信息_图标显示.禁止 = 真
   .否则
    选择框_易语言配置信息_图标显示.选中 = 真
   .如果结束
   .如果 (寻找文本 (取文本注册项 (#根类, “E8.Document\Shell\Command\”, ), 编辑框_易语言主程序.内容, , 假) ≠ -1 或 文件是否存在 (取文本注册项 (#根类, “E8.Document\Shell\Command\”, )) = 真)
    选择框_易语言配置信息_文件双击打开.选中 = 真
    选择框_易语言配置信息_文件双击打开.禁止 = 真
   .否则
    选择框_易语言配置信息_文件双击打开.选中 = 真
   .如果结束
   .如果 (注册项是否存在 (#根类, “.e8\ShellNew\NullFile”) = 真)
    选择框_易语言配置信息_右键新建易程序配置信息.选中 = 真
    选择框_易语言配置信息_右键新建易程序配置信息.禁止 = 真
   .否则
    选择框_易语言配置信息_右键新建易程序配置信息.选中 = 真
   .如果结束
   .如果 (寻找文本 (取文本注册项 (#根类, “E8.Document\Shell\用记事本打开\Command\”, ), 编辑框_易语言主程序.内容, , 假) ≠ -1 或 文件是否存在 (取文本注册项 (#根类, “E8.Document\Shell\用记事本打开\Command\”, )) = 真)
    选择框_易语言配置信息_右键用易语言打开.选中 = 真
    选择框_易语言配置信息_右键用易语言打开.禁止 = 真
   .否则
    选择框_易语言配置信息_右键用易语言打开.选中 = 真
   .如果结束
   .如果 (文件是否存在 (取文本注册项 (#根类, “E8.Document\Shell\用记事本打开\Command\”, “notepad.exe” + “ ” + #引号 + “%1” + #引号)) = 真)
    选择框_易语言配置信息_右键用记事本打开.选中 = 真
    选择框_易语言配置信息_右键用记事本打开.禁止 = 真
   .否则
    选择框_易语言配置信息_右键用记事本打开.选中 = 真
   .如果结束
  .否则
   选择框_易语言配置信息_图标显示.选中 = 真
   选择框_易语言配置信息_文件双击打开.选中 = 真
   选择框_易语言配置信息_右键新建易程序配置信息.选中 = 真
   选择框_易语言配置信息_右键用易语言打开.选中 = 真
   选择框_易语言配置信息_右键用记事本打开.选中 = 真
  .如果结束
  .如果 (取文本注册项 (#根类, “.ec\”, ) = “ec_auto_file”)
   .如果 (寻找文本 (取文本注册项 (#根类, “ec_auto_file\DefaultIcon\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “ec_auto_file\DefaultIcon\”, )) = 真)
    选择框_易语言模块_图标显示.选中 = 真
    选择框_易语言模块_图标显示.禁止 = 真
   .否则
    选择框_易语言模块_图标显示.选中 = 真
   .如果结束
  .否则
   选择框_易语言模块_图标显示.选中 = 真
  .如果结束
  .如果 (取文本注册项 (#根类, “.edb\”, ) = “EDB.Document”)
   .如果 (寻找文本 (取文本注册项 (#根类, “EDB.Document\DefaultIcon\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “EDB.Document\DefaultIcon\”, )) = 真)
    选择框_易数据库文件_图标显示.选中 = 真
    选择框_易数据库文件_图标显示.禁止 = 真
   .否则
    选择框_易数据库文件_图标显示.选中 = 真
   .如果结束
   .如果 (寻找文本 (取文本注册项 (#根类, “EDB.Document\Shell\Command\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “EDB.Document\Shell\Command\”, )) = 真)
    选择框_易数据库文件_文件双击打开.选中 = 真
    选择框_易数据库文件_文件双击打开.禁止 = 真
   .否则
    选择框_易数据库文件_文件双击打开.选中 = 真
   .如果结束
  .否则
   选择框_易数据库文件_图标显示.选中 = 真
   选择框_易数据库文件_文件双击打开.选中 = 真
  .如果结束
  .如果 (取文本注册项 (#根类, “.fne\”, ) = “FNE.Document”)
   .如果 (寻找文本 (取文本注册项 (#根类, “FNE.Document\DefaultIcon\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “FNE.Document\DefaultIcon\”, )) = 真)
    选择框_易支持库文件_图标显示.选中 = 真
    选择框_易支持库文件_图标显示.禁止 = 真
   .否则
    选择框_易支持库文件_图标显示.选中 = 真
   .如果结束
   .如果 (寻找文本 (取文本注册项 (#根类, “FNE.Document\Shell\复制到易语言目录\Command\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “FNE.Document\Shell\复制到易语言目录\Command\”, )) = 真)
    选择框_易支持库文件_右键复制到易语言目录.选中 = 真
    选择框_易支持库文件_右键复制到易语言目录.禁止 = 真
   .否则
    选择框_易支持库文件_右键复制到易语言目录.选中 = 假
   .如果结束
  .否则
   选择框_易支持库文件_图标显示.选中 = 真
  .如果结束
  .如果 (取文本注册项 (#根类, “.lib\”, ) = “LIB.Document”)
   .如果 (寻找文本 (取文本注册项 (#根类, “LIB.Document\DefaultIcon\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “FNE.Document\DefaultIcon\”, )) = 真)
    选择框_易静态库文件_图标显示.选中 = 真
    选择框_易静态库文件_图标显示.禁止 = 真
   .否则
    选择框_易静态库文件_图标显示.选中 = 真
   .如果结束
   .如果 (寻找文本 (取文本注册项 (#根类, “LIB.Document\Shell\复制到易语言目录\Command\”, ), 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5), , 假) ≠ -1 且 文件是否存在 (取文本注册项 (#根类, “FNE.Document\Shell\复制到易语言目录\Command\”, )) = 真)
    选择框_易静态库文件_右键复制到易语言目录.选中 = 真
    选择框_易静态库文件_右键复制到易语言目录.禁止 = 真
   .否则
    选择框_易静态库文件_右键复制到易语言目录.选中 = 假
   .如果结束
  .否则
   选择框_易静态库文件_图标显示.选中 = 真
  .如果结束
 .如果真结束
.如果真结束
.子程序 _按钮_一键修复_被单击
.如果 (修复易语言源码E () = 真 且 修复易程序配置信息E8 () = 真 且 修复易语言模块EC () = 真 且 修复易数据库EDB () = 真 且 修复易支持库FNE () = 真 且 修复易静态库LIB () = 真)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\.e”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\E.Document”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\.e8”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\E8.Document”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\.ec”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\ec_auto_file”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\.edb”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\EDB.Document”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\.fne”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\FNE.Document”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\.lib”)
 注册表_刷新项 (“HKEY_CLASSES_ROOT\LIB.Document”)
 刷新注册表 ()
 刷新注册表2 ()
 信息框 (“文件关联 修复成功”, 64, “提示”, _启动窗口.取窗口句柄 ())
.否则
 信息框 (“修复失败,请以管理员身份运行”, 64, , _启动窗口.取窗口句柄 ())
.如果结束
.子程序 e文件关联, , , 测试
写注册项 (#根类, “.e\”, “”)
写注册项 (#根类, “.e\ShellNew\”, “”)
写注册项 (#根类, “.e\ShellNew\NullFile”, “”) ' 右键新建
写注册项 (#根类, “E.Document\”, “易语言程序”) ' 文件描述 ' 此值影响右键新建名称和文
写注册项 (#根类, “E.Document\DefaultIcon\”, 编辑框_易语言主程序.内容 + “ ,-127”) ' 图标关联
写注册项 (#根类, “E.Document\shell\”, “”)
写注册项 (#根类, “E.Document\shell\open\”, “”)
写注册项 (#根类, “E.Document\shell\open\command\”, 编辑框_易语言主程序.内容 + “ ” + #引号 + “%1” + #引号) ' 打开命令
.子程序 _按钮_删除所有_被单击
.如果真 (信息框 (“此操作将从系统清除所有关联信息” + #换行符 + “包括:*.e 、*.e8 、*.ec 、*.edb 、*.fne 、*.lib。” + #换行符 + #换行符 + “点击[确认]则继续操作,点击[取消]则退出。”, 1 + 32 + 256, “是否继续操作?”, _启动窗口.取窗口句柄 ()) = #确认钮)
 .如果 (删除易语言源码E () = 真 且 删除易程序配置信息E8 () = 真 且 删除易语言模块EC () = 真 且 删除易数据库EDB () = 真 且 删除易支持库FNE () = 真 且 删除易静态库LIB () = 真)
  刷新注册表 ()
  信息框 (“文件关联 修复成功”, 64, “提示”, _启动窗口.取窗口句柄 ())
 .否则
  信息框 (“修复失败,请以管理员身份运行”, 64, , _启动窗口.取窗口句柄 ())
 .如果结束
.如果真结束
.子程序 修复易语言源码E, 逻辑型, , 写注册表,成功返回真,失败返回假。
.局部变量 返回E, 逻辑型, , , 记录返回值
返回E = 真
.如果真 (选择框_易语言源码_图标显示.选中 = 真 且 选择框_易语言源码_图标显示.禁止 = 假)
 .如果 (写注册项 (#根类, “.e\”, “E.Document”) = 真 且 写注册项 (#根类, “E.Document\”, “易语言程序”) = 真 且 写注册项 (#根类, “E.Document\DefaultIcon\”, 编辑框_易语言主程序.内容 + #图标127) = 真)
  返回E = 真
 .否则
  返回E = 假
 .如果结束
.如果真结束
.如果真 (选择框_易语言源码_文件双击打开.选中 = 真 且 选择框_易语言源码_文件双击打开.禁止 = 假)
 .如果 (写注册项 (#根类, “.e\”, “E.Document”) = 真 且 写注册项 (#根类, “E.Document\”, “易语言程序”) = 真 且 写注册项 (#根类, “E.Document\shell\open\command\”, 编辑框_易语言主程序.内容 + “ ” + #引号 + “%1” + #引号) = 真)
  返回E = 真
 .否则
  返回E = 假
 .如果结束
.如果真结束
.如果真 (选择框_易语言源码_右键新建易程序.选中 = 真 且 选择框_易语言源码_右键新建易程序.禁止 = 假)
 .如果 (写注册项 (#根类, “.e\”, “E.Document”) = 真 且 写注册项 (#根类, “E.Document\”, “易语言程序”) = 真 且 写注册项 (#根类, “.e\ShellNew\NullFile”, “”) = 真)
  返回E = 真
 .否则
  返回E = 假
 .如果结束
.如果真结束
返回 (返回E)
.子程序 删除易语言源码E, 逻辑型, , 删注册表,成功返回真,失败返回假。
.局部变量 删除返回E, 逻辑型
删除返回E = 真
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.e”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\.e”) = 真)
  删除返回E = 真
 .否则
  删除返回E = 假
 .如果结束
.如果真结束
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\E.Document”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\E.Document”) = 真)
  删除返回E = 真
 .否则
  删除返回E = 假
 .如果结束
.如果真结束
返回 (删除返回E)
.子程序 修复易语言模块EC, 逻辑型, , 写注册表,成功返回真,失败返回假。
.局部变量 _路径, 文本型
.局部变量 返回EC, 逻辑型, , , 记录返回值
返回EC = 真
.如果真 (选择框_易语言模块_图标显示.选中 = 真 且 选择框_易语言模块_图标显示.禁止 = 假)
 _路径 = 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5)
 .如果 (写注册项 (#根类, “.ec\”, “ec_auto_file”) = 真 且 写注册项 (#根类, “ec_auto_file\”, “易语言模块”) = 真 且 写注册项 (#根类, “ec_auto_file\DefaultIcon\”, _路径 + “help\ec.ico”) = 真)
  写到文件 (局部_路径 + “help\ec.ico”, #ICON_EC)
  返回EC = 真
 .否则
  返回EC = 假
 .如果结束
.如果真结束
返回 (返回EC)
.子程序 删除易语言模块EC, 逻辑型, , 删注册表,成功返回真,失败返回假。
.局部变量 删除返回EC, 逻辑型
删除返回EC = 真
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.ec”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\.ec”) = 真)
  删除返回EC = 真
 .否则
  删除返回EC = 假
 .如果结束
.如果真结束
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\ec_auto_file”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\ec_auto_file”) = 真)
  删除返回EC = 真
 .否则
  删除返回EC = 假
 .如果结束
.如果真结束
返回 (删除返回EC)
.子程序 修复易程序配置信息E8, 逻辑型, , 写注册表,成功返回真,失败返回假。
.局部变量 返回E8, 逻辑型, , , 记录返回值
返回E8 = 真
.如果真 (选择框_易语言配置信息_图标显示.选中 = 真 且 选择框_易语言配置信息_图标显示.禁止 = 假)
 .如果 (写注册项 (#根类, “.e8\”, “E8.Document”) = 真 且 写注册项 (#根类, “E8.Document\”, “易程序配置信息”) = 真 且 写注册项 (#根类, “E8.Document\DefaultIcon\”, 编辑框_易语言主程序.内容 + #图标134) = 真)
  返回E8 = 真
 .否则
  返回E8 = 假
 .如果结束
.如果真结束
.如果真 (选择框_易语言配置信息_文件双击打开.选中 = 真 且 选择框_易语言配置信息_文件双击打开.禁止 = 假)
 .如果 (写注册项 (#根类, “.e8\”, “E8.Document”) = 真 且 写注册项 (#根类, “E8.Document\”, “易程序配置信息”) = 真 且 写注册项 (#根类, “E8.Document\Shell\Open\Command\”, 编辑框_易语言主程序.内容 + “ ” + #引号 + “%1” + #引号) = 真)
  返回E8 = 真
 .否则
  返回E8 = 假
 .如果结束
.如果真结束
.如果真 (选择框_易语言配置信息_右键新建易程序配置信息.选中 = 真 且 选择框_易语言配置信息_右键新建易程序配置信息.禁止 = 假)
 .如果 (写注册项 (#根类, “.e8\”, “E8.Document”) = 真 且 写注册项 (#根类, “E8.Document\”, “易程序配置信息”) = 真 且 写注册项 (#根类, “.e\ShellNew\NullFile”, “”) = 真)
  返回E8 = 真
 .否则
  返回E8 = 假
 .如果结束
.如果真结束
.如果真 (选择框_易语言配置信息_右键用记事本打开.选中 = 真 且 选择框_易语言配置信息_右键用记事本打开.禁止 = 假)
 .如果 (写注册项 (#根类, “.e8\”, “E8.Document”) = 真 且 写注册项 (#根类, “E8.Document\”, “易程序配置信息”) = 真 且 写注册项 (#根类, “E8.Document\Shell\用记事本打开\Command\”, “notepad.exe” + “ ” + #引号 + “%1” + #引号) = 真)
  返回E8 = 真
 .否则
  返回E8 = 假
 .如果结束
.如果真结束
.如果真 (选择框_易语言配置信息_右键用易语言打开.选中 = 真 且 选择框_易语言配置信息_右键用易语言打开.禁止 = 假)
 .如果 (写注册项 (#根类, “.e8\”, “E8.Document”) = 真 且 写注册项 (#根类, “E8.Document\”, “易程序配置信息”) = 真 且 写注册项 (#根类, “E8.Document\Shell\用易语言打开\Command\”, 编辑框_易语言主程序.内容 + “ ” + #引号 + “%1” + #引号) = 真)
  返回E8 = 真
 .否则
  返回E8 = 假
 .如果结束
.如果真结束
返回 (返回E8)
.子程序 删除易程序配置信息E8, 逻辑型, , 删注册表,成功返回真,失败返回假。
.局部变量 删除返回E8, 逻辑型
删除返回E8 = 真
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.e8”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\.e8”) = 真)
  删除返回E8 = 真
 .否则
  删除返回E8 = 假
 .如果结束
.如果真结束
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\E8.Document”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\E8.Document”) = 真)
  删除返回E8 = 真
 .否则
  删除返回E8 = 假
 .如果结束
.如果真结束
返回 (删除返回E8)
.子程序 修复易数据库EDB, 逻辑型, , 写注册表,成功返回真,失败返回假。
.局部变量 EDB_路径, 文本型
.局部变量 返回EDB, 逻辑型, , , 记录返回值
EDB_路径 = 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5)
返回EDB = 真
.如果真 (选择框_易数据库文件_图标显示.选中 = 真 且 选择框_易数据库文件_图标显示.禁止 = 假)
 .如果 (写注册项 (#根类, “.edb\”, “EDB.Document”) = 真 且 写注册项 (#根类, “EDB.Document\”, “易数据库文件”) 且 写注册项 (#根类, “LIB.Document\DefaultIcon”, EDB_路径 + “help\edb.ico”) = 真)
  写到文件 (EDB_路径 + “help\edb.ico”, #ICON_EDB)
  返回EDB = 真
 .否则
  返回EDB = 假
 .如果结束
.如果真结束
.如果真 (选择框_易数据库文件_文件双击打开.选中 = 真 且 选择框_易数据库文件_文件双击打开.禁止 = 假)
 .如果 (写注册项 (#根类, “.edb\”, “EDB.Document”) = 真 且 写注册项 (#根类, “EDB.Document\”, “易数据库文件”) 且 写注册项 (#根类, “EDB.Document\Shell\Open\Command”, EDB_路径 + “tools\EDBView.exe” + “ ” + #引号 + “%1” + #引号) = 真)
  写到文件 (局部_路径 + “tools\EDBView.exe”, #EDBView)
  返回EDB = 真
 .否则
  返回EDB = 假
 .如果结束
.如果真结束
返回 (返回EDB)
.子程序 删除易数据库EDB, 逻辑型, , 删注册表,成功返回真,失败返回假。
.局部变量 删除返回EDB, 逻辑型
删除返回EDB = 真
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.edb”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\.edb”) = 真)
  删除返回EDB = 真
 .否则
  删除返回EDB = 假
 .如果结束
.如果真结束
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\EDB.Document”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\EDB.Document”) = 真)
  删除返回EDB = 真
 .否则
  删除返回EDB = 假
 .如果结束
.如果真结束
返回 (删除返回EDB)
.子程序 修复易支持库FNE, 逻辑型, , 写注册表,成功返回真,失败返回假。
.局部变量 FNE_路径, 文本型
.局部变量 返回FNE, 逻辑型, , , 记录返回值
FNE_路径 = 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5)
返回FNE = 真
.如果真 (选择框_易支持库文件_图标显示.选中 = 真 且 选择框_易支持库文件_图标显示.禁止 = 假)
 .如果 (写注册项 (#根类, “.fne\”, “FNE.Document”) = 真 且 写注册项 (#根类, “FNE.Document\”, “易支持库文件”) = 真 且 写注册项 (#根类, “FNE.Document\DefaultIcon\”, FNE_路径 + “help\fne.ico”) = 真)
  写到文件 (局部_路径 + “help\fne.ico”, #ICON_FNE)
  返回FNE = 真
 .否则
  返回FNE = 假
 .如果结束
.如果真结束
.如果真 (选择框_易支持库文件_右键复制到易语言目录.选中 = 真 且 选择框_易支持库文件_右键复制到易语言目录.禁止 = 假)
 FNE_路径 = 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5)
 .如果 (写注册项 (#根类, “.fne\”, “FNE.Document”) = 真 且 写注册项 (#根类, “FNE.Document\”, “易支持库文件”) = 真 且 写注册项 (#根类, “FNE.Document\Shell\复制到易语言目录\Command\”, FNE_路径 + “tools\CopytoE.exe” + “ ” + #引号 + “%1” + #引号) = 真)
  写到文件 (局部_路径 + “tools\CopytoE.exe”, #CopytoE)
  返回FNE = 真
 .否则
  返回FNE = 假
 .如果结束
.如果真结束
返回 (返回FNE)
.子程序 删除易支持库FNE, 逻辑型, , 删注册表,成功返回真,失败返回假。
.局部变量 删除返回FNE, 逻辑型
删除返回FNE = 真
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.fne”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\.fne”) = 真)
  删除返回FNE = 真
 .否则
  删除返回FNE = 假
 .如果结束
.如果真结束
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\FNE.Document”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\FNE.Document”) = 真)
  删除返回FNE = 真
 .否则
  删除返回FNE = 假
 .如果结束
.如果真结束
返回 (删除返回FNE)
.子程序 修复易静态库LIB, 逻辑型, , 写注册表,成功返回真,失败返回假。
.局部变量 LIB_路径, 文本型
.局部变量 返回LIB, 逻辑型, , , 记录返回值
LIB_路径 = 取文本左边 (编辑框_易语言主程序.内容, 取文本长度 (编辑框_易语言主程序.内容) - 5)
返回LIB = 真
.如果真 (选择框_易静态库文件_图标显示.选中 = 真 且 选择框_易静态库文件_图标显示.禁止 = 假)
 .如果 (写注册项 (#根类, “.lib\”, “LIB.Document”) = 真 且 写注册项 (#根类, “LIB.Document\”, “易静态库文件”) = 真 且 写注册项 (#根类, “LIB.Document\DefaultIcon\”, LIB_路径 + “help\lib.ico”) = 真)
  写到文件 (LIB_路径 + “help\lib.ico”, #ICON_LIB)
  返回LIB = 真
 .否则
  返回LIB = 假
 .如果结束
.如果真结束
.如果真 (选择框_易静态库文件_右键复制到易语言目录.选中 = 真 且 选择框_易静态库文件_右键复制到易语言目录.禁止 = 假)
 .如果 (写注册项 (#根类, “.lib\”, “LIB.Document”) = 真 且 写注册项 (#根类, “LIB.Document\”, “易静态库文件”) = 真 且 写注册项 (#根类, “LIB.Document\Shell\复制到易语言目录\Command\”, LIB_路径 + “tools\CopytoE.exe” + “ ” + #引号 + “%1” + #引号) = 真)
  写到文件 (LIB_路径 + “tools\CopytoE.exe”, #CopytoE)
  返回LIB = 真
 .否则
  返回LIB = 假
 .如果结束
.如果真结束
返回 (返回LIB)
.子程序 删除易静态库LIB, 逻辑型, , 删注册表,成功返回真,失败返回假。
.局部变量 删除返回LIB, 逻辑型
删除返回LIB = 真
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\.lib”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\.lib”) = 真)
  删除返回LIB = 真
 .否则
  删除返回LIB = 假
 .如果结束
.如果真结束
.如果真 (注册表_是否存在 (“HKEY_CLASSES_ROOT\LIB.Document”))
 .如果 (注册表_删除项 (“HKEY_CLASSES_ROOT\LIB.Document”) = 真)
  删除返回LIB = 真
 .否则
  删除返回LIB = 假
 .如果结束
.如果真结束
返回 (删除返回LIB)
.子程序 刷新注册表
API_SendMessage (#HWND_BROADCAST, #WM_SETTINGCHANGE, 0, 0)
.子程序 刷新注册表2
.局部变量 dwResult, 整数型
API_SendMessageTimeout (#HWND_BROADCAST, #WM_SETTINGCHANGE, 0, 0, #SMTO_NORMAL, 1000, dwResult)
.子程序 _透明标签1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
打开指定网址 (“//www.jb51.net/”)
.子程序 _按钮_浏览_被单击
通用对话框.类型 = 0
通用对话框.标题 = “选择易语言主程序”
通用对话框.过滤器 = “易语言主程序(e.exe)|e.exe”
.如果真 (通用对话框.打开 ())
 编辑框_易语言主程序.内容 = 通用对话框.文件名
.如果真结束
.子程序 __启动窗口_尺寸被改变
_启动窗口.宽度 = 455
_启动窗口.高度 = 480
.子程序 __启动窗口_将被销毁
_启动窗口.销毁 ()

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:

  • 易语言NTAPI进程操纵的代码
  • 易语言注册机生成永久或限时注册码的写法
  • 易语言制作一款唯美的cookie分析工具的代码
  • 易语言通过百度错误页面获取北京时间的代码
  • 易语言多线程多任务下载器的代码
  • 易语言通过时钟和计次循环来实现定时任务的代码
  • 易语言监控smtp和反编译获取程序内邮件密码发送信息达到反钓鱼的目的
  • 易语言调用墨迹天气实现自动定位获取天气情况的代码
  • 易语言通过枚举密码进行破解rar压缩包文件的代码
  • 易语言调用百度图片识别实现的图片转表格的代码
  • 易语言超级列表框点击表头进行排序的代码
  • 易语言验证十八位身份证号码是否正确的代码
  • 易语言实现反OD调试反复附加的代码
  • 易语言通过解析免费下载QQ付费音乐的代码
  • 易语言利用正则表达式实现获取文本中间内容的代码

相关文章

最新评论