易語言注冊自定義協(xié)議Register protocol
Register protocol
tencent:// thunder:// 是 騰訊 和 迅雷 的協(xié)議,即頁面上或地址欄里的鏈接只要輸入帶有 tencent://… 的協(xié)議,就會自動調用一個已寫好的程序執(zhí)行該協(xié)議的操作。 或者是打開頁面,迅雷的是下載資源的鏈接。
通過微軟的說明,知道這是Register protocol,對于 Windows、Linux 和 OS X 操作系統(tǒng)都可以注冊這樣的協(xié)議。比如說Windows,其實只需寫入注冊表,即可實現(xiàn)協(xié)議與執(zhí)行程序的關聯(lián)。
DLL命令表
.版本 2 .DLL命令 RegCreateKey, 邏輯型, "Advapi32.dll", "RegCreateKeyA", 公開 .參數(shù) hKey, 整數(shù)型 .參數(shù) lpSubKey, 文本型 .參數(shù) phkResult, 整數(shù)型, 傳址 .DLL命令 RegCloseKey, , "Advapi32.dll", "RegCloseKey", 公開 .參數(shù) hKey, 整數(shù)型 .DLL命令 RegSetKeyValue, 邏輯型, "Advapi32.dll", "RegSetValueExA", 公開 .參數(shù) hKey, 整數(shù)型 .參數(shù) lpSubKey, 文本型 .參數(shù) lpValueName, 文本型 .參數(shù) dwType, 整數(shù)型 .參數(shù) lpData, 文本型 .參數(shù) cbData, 整數(shù)型 .DLL命令 sprintf, 整數(shù)型, "msvcrt.dll", "@sprintf" .參數(shù) s, 文本型, 傳址 .參數(shù) foramt, 文本型 .參數(shù) arg, 文本型 .DLL命令 GetCommandLine, 文本型, "kernel32.dll", "GetCommandLineA", 公開
常量數(shù)據(jù)表
.版本 2 .常量 HKEY_CLASSES_ROOT, "2147483648" .常量 REG_SZ, "1"
注冊自定義協(xié)議Register protocol
.版本 2 .程序集 程序集1 .子程序 _啟動子程序, 整數(shù)型, , 本子程序在程序啟動后最先執(zhí)行 .局部變量 pszArgv, 文本型, , "0" .局部變量 szExePath, 文本型 .局部變量 i, 整數(shù)型 .局部變量 Schemes, 文本型 標準輸出 (, “Windows 注冊自定義協(xié)議演示:”, #換行符) 取命令行 (pszArgv) .如果真 (取數(shù)組成員數(shù) (pszArgv) ≥ 1) ' 如果啟動參數(shù)小于1,那說明并非由協(xié)議啟動 .計次循環(huán)首 (取數(shù)組成員數(shù) (pszArgv), i) .如果真 (取文本左邊 (到小寫 (pszArgv [i]), 6) = “eyuyan:”) Schemes = 取文本右邊 (pszArgv [i], 取文本長度 (pszArgv [i]) - 8) ' 協(xié)議數(shù)據(jù) 標準輸出 (, “收到協(xié)議數(shù)據(jù): ”, Schemes, #換行符) ' 在這里就可以處理接收到的協(xié)議數(shù)據(jù)了 標準輸出 (, “按回車鍵結束程序!”, #換行符) 標準輸入 () 返回 (0) .如果真結束 .計次循環(huán)尾 () .如果真結束 標準輸出 (, “注冊協(xié)議頭: Ayana ”, #換行符, “在地址欄或者瀏覽器中輸入: Ayana:hello%20world ,將會觸發(fā)接收程序!”, #換行符) szExePath = 取運行目錄 () + “\” + 取執(zhí)行文件名 () 登錄協(xié)議 (“eyuyan”, szExePath + “,0”, szExePath) 標準輸出 (, “按回車鍵結束程序!”, #換行符) 標準輸入 () 返回 (0) .子程序 登錄協(xié)議, , 公開, 注冊自定義windows 協(xié)議 .參數(shù) 協(xié)議頭, 文本型, , 協(xié)議頭: 比如 schemes .參數(shù) 圖標文件, 文本型, , 圖標文件 .參數(shù) 協(xié)議接收程序, 文本型, , 協(xié)議接收程序 .局部變量 根HKEY, 整數(shù)型, , , 根HKEY .局部變量 文本, 文本型 .局部變量 結果, 文本型 文本 = 取空白文本 (60) sprintf (文本, “%sProtocol”, 協(xié)議頭) RegCreateKey (#HKEY_CLASSES_ROOT, 協(xié)議頭, 根HKEY) RegSetKeyValue (#HKEY_CLASSES_ROOT, 協(xié)議頭, “”, #REG_SZ, 文本, 取文本長度 (文本)) RegSetKeyValue (#HKEY_CLASSES_ROOT, 協(xié)議頭, “URL Protocol”, #REG_SZ, 協(xié)議接收程序, 取文本長度 (協(xié)議接收程序)) RegSetKeyValue (根HKEY, “DefaultIcon”, “”, #REG_SZ, 圖標文件, 取文本長度 (圖標文件)) RegSetKeyValue (根HKEY, “shell”, “”, #REG_SZ, “”, 0) RegSetKeyValue (根HKEY, “shell\open”, “”, #REG_SZ, “”, 0) 結果 = 協(xié)議接收程序 + “ ” + #引號 + “%1” + #引號 RegSetKeyValue (根HKEY, “shell\open\command”, “”, #REG_SZ, 結果, 取文本長度 (結果)) RegCloseKey (根HKEY)
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
- 易語言實現(xiàn)文件夾加密的代碼
- 易語言CNA算法實現(xiàn)快速加密解密文件的代碼
- 易語言制作文件夾壓縮備份工具的代碼
- 易語言制作永恒之藍局域網掃描器的代碼
- 易語言提取ICO圖標支持多種圖像格式轉換的代碼
- 易語言利用HOOK注入獲取內容的代碼
- 易語言EXUI支持庫制作紅色簡約網絡驗證UI界面的代碼
- 易語言魚刺線程池撥號模板
- 易語言制作調試助手
- 易語言利用鼠標模擬點擊的方式實現(xiàn)自動畫圖的代碼
- 易語言解析B站直播間的地址獲得彈幕內容的代碼
- 易語言調用whois實現(xiàn)域名批量查詢與注冊的代碼
- 易語言枚舉進程通過窗口句柄獲取已經登錄的QQ號碼
- 易語言實現(xiàn)多線程驗證代理是否有效的代碼
- 易語言實現(xiàn)多線程計算的代碼
相關文章
易語言調用墨跡天氣實現(xiàn)自動定位獲取天氣情況的代碼
今天小編就為大家分享一篇關于易語言調用墨跡天氣實現(xiàn)自動定位獲取天氣情況的代碼,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-11-11