易语言通过注册表将易文件关联修复的源码
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 .子程序 __启动窗口_将被销毁 _启动窗口.销毁 ()
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
赞 (0)