中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

易語言枚舉電腦驅動如何判斷是否存在指定驅動

發布時間:2021-08-18 13:41:51 來源:億速云 閱讀:307 作者:小新 欄目:編程語言

這篇文章主要介紹易語言枚舉電腦驅動如何判斷是否存在指定驅動,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

DLL命令代碼

.版本 2
.DLL命令 NtQuerySystemInformation, 整數型, "NTDLL.DLL", "NtQuerySystemInformation"
  .參數 SystemInformationClass, 整數型
  .參數 pSystemInformation, 整數型
  .參數 SystemInformationLength, 整數型
  .參數 ReturnLength, 整數型, 傳址
.DLL命令 CopyMemory, , "kernel32", "RtlMoveMemory"
  .參數 pDst, MODULES, 傳址
  .參數 pSrc, 整數型
  .參數 ByteLen, 整數型
.DLL命令 GlobalSize, 整數型, "kernel32", "GlobalSize", , 返回全局內存塊大小
  .參數 hMem, MODULES

自定義數據類型表

.版本 2
.數據類型 內核驅動成員
  .成員 驅動文件名, 文本型
.數據類型 MODULES
  .成員 dwNumberOfModules, 整數型
  .成員 ModuleInformation, INFORMATION
.數據類型 INFORMATION
  .成員 dwReserved, 整數型, , "2"
  .成員 dwBase, 整數型
  .成員 dwSize, 整數型
  .成員 dwFlags, 整數型
  .成員 Index, 短整數型
  .成員 Unknown, 短整數型
  .成員 LoadCount, 短整數型
  .成員 ModuleNameOffset, 短整數型
  .成員 ImageName, 字節型, , "256"

判斷驅動是否存在的代碼

.版本 2
.支持庫 spec
.程序集 窗口程序集1
.子程序 _判斷按鈕_被單擊
.判斷開始 (驅動是否存在 (“PCHunter64ao.sys”) = 真 或 驅動是否存在 (“PCHunter32ao.sys”) = 真)
  信息框 (“存在”, 64, , )
.默認
  信息框 (“不存在”, 16, , )
.判斷結束
.子程序 驅動是否存在, 邏輯型, 公開, 取系統已加載的驅動,成功取到返回真,失敗返回假
.參數 驅動名, 文本型
.局部變量 驅動成員, 內核驅動成員, , "0"
.局部變量 循環計次, 整數型
枚舉系統驅動 (驅動成員)
.計次循環首 (取數組成員數 (驅動成員), 循環計次)
  .如果真 (驅動成員 [循環計次].驅動文件名 = 驅動名)
    返回 (真)
    跳出循環 ()
  .如果真結束
.計次循環尾 ()
返回 (假)
.子程序 枚舉系統驅動, 整數型, , 枚舉驅動,成功返回驅動數量,失敗返回0
.參數 驅動文件名, 內核驅動成員, 數組
.局部變量 Ret, 整數型
.局部變量 ModulesInfo, MODULES
.局部變量 i, 整數型
.局部變量 x, 整數型
.局部變量 驅動名稱, 文本型, , "0"
.局部變量 位置, 整數型
.局部變量 判斷函數, 整數型
.局部變量 裝載類型, 內核驅動成員
.局部變量 內存申請, 整數型
清除數組 (驅動名稱)
NtQuerySystemInformation (11, 0, 0, Ret)
內存申請 = 申請內存 (Ret × 2, 真)
NtQuerySystemInformation (11, 內存申請, Ret × 2, Ret)
CopyMemory (ModulesInfo, 內存申請, GlobalSize (ModulesInfo))
加入成員 (驅動名稱, 到文本 (ModulesInfo.ModuleInformation.ImageName))
i = ModulesInfo.dwNumberOfModules
判斷函數 = i
.判斷循環首 (i > 1)
  i = i - 1
  內存申請 = 內存申請 + 71 × 4
  CopyMemory (ModulesInfo, 內存申請, GlobalSize (ModulesInfo))
  加入成員 (驅動名稱, 到文本 (ModulesInfo.ModuleInformation.ImageName))
.判斷循環尾 ()
.計次循環首 (取數組成員數 (驅動名稱), x)
  位置 = 倒找文本 (驅動名稱 [x], “\”, , 假)
  裝載類型.驅動文件名 = 取文本右邊 (驅動名稱 [x], 取文本長度 (驅動名稱 [x]) - 位置)
  加入成員 (驅動文件名, 裝載類型)
.計次循環尾 ()
.如果 (判斷函數 > 1)
  返回 (取數組成員數 (驅動名稱))
.否則
  返回 (0)
.如果結束
釋放內存 (內存申請)

運行結果:

易語言枚舉電腦驅動如何判斷是否存在指定驅動

以上是“易語言枚舉電腦驅動如何判斷是否存在指定驅動”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永清县| 平舆县| 新化县| 霍州市| 土默特左旗| 微博| 仁布县| 汉寿县| 四子王旗| 山东| 泰兴市| 五原县| 云安县| 历史| 肃宁县| 会宁县| 宣恩县| 麻城市| 鹤岗市| 惠州市| 锦屏县| 桃园县| 南部县| 于田县| 兰州市| 古交市| 池州市| 罗城| 屯门区| 丹寨县| 越西县| 唐海县| 克拉玛依市| 克山县| 苗栗县| 拉孜县| 浠水县| 泗水县| 西乌| 宜昌市| 肥乡县|