DLL命令表
.版本 2.DLL命令 DecodePictureFile, 整數(shù)型, "PsyQrDcd", "DecodePictureFile" .參數(shù) strFilePath, 文本型.DLL命令 DecodePictureFileRect, 整數(shù)型, "PsyQrDcd", "DecodePictureFileRect" .參數(shù) strFilePath, 文本型 .參數(shù) lngLeftX, 整數(shù)型 .參數(shù) lngTopY, 整數(shù)型 .參數(shù) lngRightX, 整數(shù)型 .參數(shù) lngBottomY, 整數(shù)型.DLL命令 DecodeGrayScaleArray, 整數(shù)型, "PsyQrDcd", "DecodeGrayScaleArray" .參數(shù) byData, 字節(jié)型, 傳址 .參數(shù) lngWidth, 整數(shù)型 .參數(shù) lngHeight, 整數(shù)型.DLL命令 DecodeBinaryArray, 整數(shù)型, "PsyQrDcd", "DecodeBinaryArray" .參數(shù) byData, 字節(jié)型, 傳址 .參數(shù) lngWidth, 整數(shù)型 .參數(shù) lngHeight, 整數(shù)型.DLL命令 GetDecodeDataString, 文本型, "PsyQrDcd", "GetDecodeDataString" .參數(shù) lngIndex, 整數(shù)型.DLL命令 GetDecodeDataByteArray, 整數(shù)型, "PsyQrDcd", "GetDecodeDataByteArray" .參數(shù) lngIndex, 整數(shù)型.DLL命令 GetDecodeVersion, 整數(shù)型, "PsyQrDcd", "GetDecodeVersion" .參數(shù) lngIndex, 整數(shù)型.DLL命令 GetDecodeLevel, 整數(shù)型, "PsyQrDcd", "GetDecodeLevel" .參數(shù) lngIndex, 整數(shù)型.DLL命令 GetDecodeMaskingNo, 整數(shù)型, "PsyQrDcd", "GetDecodeMaskingNo" .參數(shù) lngIndex, 整數(shù)型.DLL命令 GetConcatenationInfo, 整數(shù)型, "PsyQrDcd", "GetConcatenationInfo" .參數(shù) lngIndex, 整數(shù)型 .參數(shù) lngSeqNo, 整數(shù)型, 傳址 .參數(shù) byCheckDigit, 字節(jié)型, 傳址.DLL命令 GetSymbolePosition, 整數(shù)型, "PsyQrDcd", "GetSymbolePosition" .參數(shù) lngIndex, 整數(shù)型 .參數(shù) lngPosition, 整數(shù)型, 傳址.DLL命令 SetDecodeSymbolCount, , "PsyQrDcd", "SetDecodeSymbolCount" .參數(shù) lngCount, 整數(shù)型.DLL命令 SetDecodeEffectLevel, , "PsyQrDcd", "SetDecodeEffectLevel" .參數(shù) lngLevel, 整數(shù)型.DLL命令 SetBrightnessBorder, , "PsyQrDcd", "SetBrightnessBorder" .參數(shù) byBorder, 字節(jié)型.DLL命令 SetMinimumModuleSize, , "PsyQrDcd", "SetMinimumModuleSize" .參數(shù) bySize, 字節(jié)型.DLL命令 FreeAllocateMemory, , "PsyQrDcd", "FreeAllocateMemory".DLL命令 API_MultiByteToWideChar_utf8, 整數(shù)型, , "MultiByteToWideChar" .參數(shù) CodePage, 整數(shù)型 .參數(shù) dwFlags, 整數(shù)型 .參數(shù) lpMultiByteStr, 字節(jié)集 .參數(shù) cchMultiByte, 整數(shù)型 .參數(shù) lpWideCharStr, 字節(jié)集 .參數(shù) cchWideChar, 整數(shù)型.DLL命令 API_WideCharToMultiByte_utf8, 整數(shù)型, "kernel32", "WideCharToMultiByte", , 將通配符映像為多字節(jié) .參數(shù) CodePage, 整數(shù)型 .參數(shù) dwFlags, 整數(shù)型 .參數(shù) lpWideCharStr, 字節(jié)集 .參數(shù) cchWideChar, 整數(shù)型 .參數(shù) lpMultiByteStr, 字節(jié)集 .參數(shù) cchMultiByte, 整數(shù)型 .參數(shù) lpDefaultChar, 整數(shù)型 .參數(shù) lpUsedDefaultChar, 整數(shù)型.DLL命令 API_WideCharToMultiByte, 整數(shù)型, "kernel32", "WideCharToMultiByte", , 將通配符映像為多字節(jié) .參數(shù) CodePage, 整數(shù)型 .參數(shù) dwFlags, 整數(shù)型 .參數(shù) lpWideCharStr, 字節(jié)集 .參數(shù) cchWideChar, 整數(shù)型 .參數(shù) lpMultiByteStr, 文本型 .參數(shù) cchMultiByte, 整數(shù)型 .參數(shù) lpDefaultChar, 文本型 .參數(shù) lpUsedDefaultChar, 整數(shù)型.DLL命令 CreateWaitableTimerA, 整數(shù)型, , "CreateWaitableTimerA", 公開, CreateWaitableTimerA 程序延時 .參數(shù) lpTimerAttributes, 整數(shù)型 .參數(shù) bManualReset, 邏輯型 .參數(shù) lpTimerName, 整數(shù)型.DLL命令 SetWaitableTimer, 整數(shù)型, , "SetWaitableTimer", 公開, SetWaitableTimer .參數(shù) hTimer, 整數(shù)型 .參數(shù) pDueTime, 程序延時 .參數(shù) lPeriod, 整數(shù)型 .參數(shù) pfnCompletionRoutine, 整數(shù)型 .參數(shù) lpArgToCompletionRoutine, 整數(shù)型 .參數(shù) fResume, 邏輯型.DLL命令 MsgWaitForMultipleObjects, 整數(shù)型, , "MsgWaitForMultipleObjects", 公開, MsgWaitForMultipleObjects .參數(shù) nCount, 整數(shù)型 .參數(shù) pHandles, 整數(shù)型, 傳址 .參數(shù) fWaitAll, 邏輯型 .參數(shù) dwMilliseconds, 整數(shù)型 .參數(shù) dwWakeMask, 整數(shù)型.DLL命令 CloseHandle, 邏輯型, "kernel32", "CloseHandle", 公開, CloseHandle關閉一個內核對象。其中包括文件、文件映射、進程、線程、安全和同步對象等。涉及文件處理時,這個函數(shù)通常與vb的close命令相似。應盡可能的使用close,因為它支持vb的差錯控制。注意這個函數(shù)使用的文件句柄與vb的文件編號是完全不同的 非零表示成功,零表示失敗。會設置GetLastError .參數(shù) 對象句柄, 整數(shù)型, , 欲關閉的一個對象的句柄;.DLL命令 GetInputState, 整數(shù)型, "user32", "GetInputState", 公開, 用法,如果真(我的處理事件()≠0),處理事件() 比系統(tǒng)自帶的"處理事件"比3倍以上
自定義數(shù)據(jù)類型
.版本 2.數(shù)據(jù)類型 程序延時 .成員 成員_時間, 長整數(shù)型, , , 占用8個字節(jié)
全局變量表
.版本 2.支持庫 BmpOperate.全局變量 a, 字節(jié)集.全局變量 x.全局變量 y.全局變量 s, 邏輯型.全局變量 動畫物體1.全局變量 動畫物體2.全局變量 w, 位圖.全局變量 w1, 位圖.全局變量 解碼結果, 文本型
常量數(shù)據(jù)表
.版本 2.常量 QRD_ERROR_SYMBLE_NOT_FOUND, "0".常量 QRD_ERROR_FILE_NOT_FOUND, "-1".常量 QRD_ERROR_READ_FAULT, "-2".常量 QRD_ERROR_BAD_FORMAT, "-3".常量 QRD_ERROR_SHARING_VIOLATION, "-4".常量 QRD_ERROR_NOT_ENOUGH_MEMORY, "-5".常量 常量1.常量 常量2, "“"C:/Users/Administrator/Desktop/二維碼讀取/qrcode.exe" "%1"”"
截圖程序集的代碼
.版本 2.支持庫 iext2.支持庫 BmpOperate.支持庫 exui.程序集 截圖窗口程序集.子程序 _截圖窗口_創(chuàng)建完畢截圖動畫物體.趨向色 = #灰色截圖動畫物體.趨向程度 = 50動畫物體1 = 背景動畫框.創(chuàng)建物體 (截圖動畫物體, 0, 0, 真, )動畫物體2 = 背景動畫框.創(chuàng)建物體 (動畫物體2, 0, 0, 真, )a = 快照 (, , )背景動畫框.置圖片 (動畫物體1, a, )w.載入數(shù)據(jù) (a)截圖窗口.移動 (0, 0, 取屏幕寬度 (), 取屏幕高度 ())背景動畫框.移動 (0, 0, 截圖窗口.寬度, 截圖窗口.高度)截圖窗口.可視 = 真.子程序 _背景動畫框_鼠標左鍵被按下, 邏輯型.參數(shù) 橫向位置, 整數(shù)型.參數(shù) 縱向位置, 整數(shù)型.參數(shù) 功能鍵狀態(tài), 整數(shù)型s = 真x = 橫向位置y = 縱向位置.子程序 _背景動畫框_鼠標左鍵被放開, 邏輯型.參數(shù) 橫向位置, 整數(shù)型.參數(shù) 縱向位置, 整數(shù)型.參數(shù) 功能鍵狀態(tài), 整數(shù)型s = 假.如果真 (寫到文件 (取運行目錄 () + “/2wm.bmp”, w1.取位圖數(shù)據(jù) ())) 截圖窗口.可視 = 假 解碼結果 = 解碼 (取運行目錄 () + “/2wm.bmp”) _啟動窗口.主窗口.可視EX = 真 _啟動窗口.激活 () 顯示信息 (解碼結果).如果真結束銷毀 ().子程序 _背景動畫框_鼠標位置被移動, 邏輯型.參數(shù) 橫向位置, 整數(shù)型.參數(shù) 縱向位置, 整數(shù)型.參數(shù) 功能鍵狀態(tài), 整數(shù)型.局部變量 x1.局部變量 y1.局部變量 c, 整數(shù)型.如果真 (s) x1 = 橫向位置 - x y1 = 縱向位置 - y .如果真 (x1 < 1) x1 = 0 .如果真結束 .如果真 (y1 < 1) y1 = 0 .如果真結束 w1.創(chuàng)建 (x1, y1, 24, #白色) w.復制到 (x, y, x1, y1, w1, 0, 0, ) .計次循環(huán)首 (x1, c) w1.置某點顏色 (c, 0, #紅色) w1.置某點顏色 (c, y1 - 1, #紅色) .計次循環(huán)尾 () .計次循環(huán)首 (y1, c) w1.置某點顏色 (0, c, #紅色) w1.置某點顏色 (x1 - 1, c, #紅色) .計次循環(huán)尾 () 背景動畫框.置物體位置 (動畫物體2, x, y, ) 背景動畫框.置圖片 (動畫物體2, w1.取位圖數(shù)據(jù) (), ).如果真結束
解碼程序集的代碼
.版本 2.支持庫 spec.程序集 解碼程序集.程序集變量 lngRectLeft, 整數(shù)型.程序集變量 lngRectTop, 整數(shù)型.程序集變量 lngRectRight, 整數(shù)型.程序集變量 lngRectBottom, 整數(shù)型.程序集變量 blnEnableSetRect, 邏輯型.子程序 解碼, 文本型.參數(shù) strFilePath, 文本型.局部變量 intOldPointer, 整數(shù)型.局部變量 lngResult, 整數(shù)型.局部變量 strResult, 文本型.局部變量 i, 整數(shù)型.局部變量 lngCount, 整數(shù)型.局部變量 lngSeqNo, 整數(shù)型.局部變量 byCheckDigit, 字節(jié)型.局部變量 lngPosition, 整數(shù)型, , "8".如果 (blnEnableSetRect) lngResult = DecodePictureFileRect (strFilePath, lngRectLeft, lngRectTop, lngRectRight, lngRectBottom).否則 lngResult = DecodePictureFile (strFilePath).如果結束.如果 (lngResult ≥ 1) .變量循環(huán)首 (0, lngResult - 1, 1, i) strResult = strResult + “——————————————————————” + #換行符 strResult = strResult + “已解碼數(shù)據(jù) ” + 到文本 (i + 1) strResult = strResult + “ [模型版本: ” + 到文本 (GetDecodeVersion (i)) strResult = strResult + “, 等級: ” .判斷開始 (GetDecodeLevel (i) = 0) strResult = strResult + “L(7%)” .判斷 (GetDecodeLevel (i) = 1) strResult = strResult + “M(15%)” .判斷 (GetDecodeLevel (i) = 2) strResult = strResult + “Q(25%)” .判斷 (GetDecodeLevel (i) = 3) strResult = strResult + “H(30%)” .默認 .判斷結束 lngCount = GetConcatenationInfo (i, lngSeqNo, byCheckDigit) .如果真 (lngCount > 0) strResult = strResult + “, 綜合:” + 到文本 (lngSeqNo + 1) + “/” + 到文本 (lngCount) strResult = strResult + “(CD” + 取十六進制文本 (byCheckDigit \ 16) + 取十六進制文本 (byCheckDigit % 16) + “H)” .如果真結束 strResult = strResult + “]” + #換行符 strResult = strResult + “——————————————————————” + #換行符 調試輸出 (UTF8_轉_ANSI (到字節(jié)集 (GetDecodeDataString (i)))) strResult = strResult + UTF8_轉_ANSI (到字節(jié)集 (GetDecodeDataString (i))) + #換行符 + #換行符 lngResult = GetSymbolePosition (i, lngPosition [1]) strResult = strResult + “符號位置:” + “(” + 到文本 (lngPosition [1]) + “, ” + 到文本 (lngPosition [2]) + “)-” + “(” + 到文本 (lngPosition [3]) + “, ” + 到文本 (lngPosition [4]) + “)-” + “(” + 到文本 (lngPosition [5]) + “, ” + 到文本 (lngPosition [6]) + “)-” + “(” + 到文本 (lngPosition [7]) + “, ” + 到文本 (lngPosition [8]) + “)” strResult = strResult + #換行符 + #換行符 .變量循環(huán)尾 () FreeAllocateMemory ().否則 .判斷開始 (lngResult = #QRD_ERROR_SYMBLE_NOT_FOUND) strResult = “未找到 QR 代碼符號。” .判斷 (lngResult = #QRD_ERROR_FILE_NOT_FOUND) strResult = “文件未找到!” .判斷 (lngResult = #QRD_ERROR_READ_FAULT) strResult = “讀取文件時發(fā)生錯誤。” .判斷 (lngResult = #QRD_ERROR_BAD_FORMAT) strResult = “無法讀取此格式文件。” .判斷 (lngResult = #QRD_ERROR_SHARING_VIOLATION) strResult = “共享沖突,無法讀取文件。” .判斷 (lngResult = #QRD_ERROR_NOT_ENOUGH_MEMORY) strResult = “內存不足。” .默認 .判斷結束.如果結束調試輸出 (strResult)返回 (strResult).子程序 UTF8_轉_ANSI, 文本型, 公開.參數(shù) utf8字節(jié)集, 字節(jié)集返回 (Unicode_轉_ANSI (UTF8_轉_Unicode (utf8字節(jié)集))).子程序 UTF8_轉_Unicode, 字節(jié)集.參數(shù) utf8字節(jié)集, 字節(jié)集.局部變量 len, 整數(shù)型, , , 單位: Word.局部變量 Unicode字節(jié)集, 字節(jié)集.局部變量 llll = 取字節(jié)集長度 (utf8字節(jié)集)len = API_MultiByteToWideChar_utf8 (65001, 0, utf8字節(jié)集, ll, { }, 0)Unicode字節(jié)集 = 取空白字節(jié)集 (len × 2)API_MultiByteToWideChar_utf8 (65001, 0, utf8字節(jié)集, ll, Unicode字節(jié)集, len × 2)返回 (Unicode字節(jié)集).子程序 Unicode_轉_ANSI, 文本型.參數(shù) Unicode字節(jié)集, 字節(jié)集.局部變量 ansi_len, 整數(shù)型, , , 單位: Word.局部變量 unicode_len.局部變量 ansi, 文本型unicode_len = 取字節(jié)集長度 (Unicode字節(jié)集) ÷ 2ansi_len = API_WideCharToMultiByte (936, 0, Unicode字節(jié)集, unicode_len, ansi, 0, “”, 0)ansi = 取空白文本 (ansi_len)API_WideCharToMultiByte (936, 0, Unicode字節(jié)集, unicode_len, ansi, ansi_len, “”, 0)返回 (ansi).子程序 程序延時, 邏輯型, , 不占用cpu,窗口不卡死,不影響其它代碼執(zhí)行.參數(shù) 參_延時間隔, 整數(shù)型, 可空, 1000毫秒 = 1秒 留空為無限等待.參數(shù) 參_延時單位, 整數(shù)型, 可空, 默認為毫秒 0=毫秒 1=秒 2=分鐘 3=小時.局部變量 局_時間句柄, 整數(shù)型.局部變量 局_時間, 程序延時.判斷開始 (參_延時單位 = 0 且 是否為空 (參_延時間隔)) 參_延時間隔 = 5000 × 60 × 60 參_延時單位 = 5000 × 60 × 60.判斷 (參_延時單位 = 0) 參_延時單位 = 1.判斷 (參_延時單位 = 1) 參_延時單位 = 1000.判斷 (參_延時單位 = 2) 參_延時單位 = 1000 × 60.判斷 (參_延時單位 = 3) 參_延時單位 = 1000 × 60 × 60.默認.判斷結束局_時間.成員_時間 = -10 × 參_延時間隔 × 1000 × 參_延時單位局_時間句柄 = CreateWaitableTimerA (0, 假, 0)SetWaitableTimer (局_時間句柄, 局_時間, 0, 0, 0, 假).判斷循環(huán)首 (MsgWaitForMultipleObjects (1, 局_時間句柄, 假, -1, 255) ≠ 0) 系統(tǒng)處理事件 ().判斷循環(huán)尾 ()CloseHandle (局_時間句柄)返回 (真).子程序 系統(tǒng)處理事件.如果真 (GetInputState () ≠ 0) 處理事件 ().如果真結束
二維碼識別的代碼
.版本 2.支持庫 exui.支持庫 iext2.程序集 啟動窗口程序集.程序集變量 命令行, 文本型, , "0".子程序 __啟動窗口_創(chuàng)建完畢.局部變量 path, 文本型path = 取運行目錄 () + “/PsyQrDcd.dll”.如果真 (文件是否存在 (path) = 假) 寫到文件 (path, #PsyQrDcd).如果真結束取命令行 (命令行).如果真 (取數(shù)組成員數(shù) (命令行) > 0) 解碼結果 = 解碼 (命令行 [1]) 顯示信息 (解碼結果).如果真結束初始化注冊右鍵按鈕 ().子程序 _截圖識別按鈕_左鍵單擊主窗口.可視EX = 假.如果真 (是否已創(chuàng)建 (截圖窗口) = 假) 載入 (截圖窗口, , 假).如果真結束截圖窗口.背景動畫框.置物體位置 (動畫物體2, -2000, -2000, ).子程序 _注冊右鍵按鈕_左鍵單擊.如果 (注冊項是否存在 (#根類, “*/shell/QRCode/command/”)) 刪除注冊項 (#根類, “*/shell/QRCode/command”) 刪除注冊項 (#根類, “*/shell/QRCode”).否則 .如果 (寫注冊項 (#根類, “*/shell/QRCode/”, “識別二維碼”) 且 寫注冊項 (#根類, “*/shell/QRCode/command/”, 取運行目錄 () + “/” + 取執(zhí)行文件名 () + “ %1”)) 顯示信息 (“注冊成功”) .否則 顯示信息 (“注冊失敗”) 刪除注冊項 (#根類, “*/shell/QRCode/command”) 刪除注冊項 (#根類, “*/shell/QRCode”) .如果結束.如果結束初始化注冊右鍵按鈕 ().子程序 顯示信息.參數(shù) 信息, 文本型.參數(shù) 是否復制, 邏輯型, 可空信息框EX (主窗口.圖標, “解碼結果 - 已復制到剪輯版”, , 信息, , { “確認” }, 0, 取窗口句柄 (), , , 5000, , ).如果真 (是否復制) 置剪輯板文本 (解碼結果).如果真結束.子程序 __啟動窗口_將被銷毀主窗口.銷毀 ().子程序 初始化注冊右鍵按鈕.如果 (注冊項是否存在 (#根類, “*/shell/QRCode/command/”)) 注冊右鍵按鈕.標題 = “注銷右鍵”.否則 注冊右鍵按鈕.標題 = “注冊右鍵”.如果結束
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網(wǎng)的支持。
新聞熱點
疑難解答