您好,登錄后才能下訂單哦!
這篇文章主要介紹了易語言怎么通過注冊表將易文件關聯修復的源碼,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
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 .子程序 __啟動窗口_將被銷毀 _啟動窗口.銷毀 ()
運行結果:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“易語言怎么通過注冊表將易文件關聯修復的源碼”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。