易語言枚舉電腦驅(qū)動判斷是否存在指定驅(qū)動的代碼
更新時間:2018年11月26日 11:46:19 作者:易語言源碼教程
今天小編就為大家分享一篇關(guān)于易語言枚舉電腦驅(qū)動判斷是否存在指定驅(qū)動的代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
DLL命令代碼
.版本 2 .DLL命令 NtQuerySystemInformation, 整數(shù)型, "NTDLL.DLL", "NtQuerySystemInformation" .參數(shù) SystemInformationClass, 整數(shù)型 .參數(shù) pSystemInformation, 整數(shù)型 .參數(shù) SystemInformationLength, 整數(shù)型 .參數(shù) ReturnLength, 整數(shù)型, 傳址 .DLL命令 CopyMemory, , "kernel32", "RtlMoveMemory" .參數(shù) pDst, MODULES, 傳址 .參數(shù) pSrc, 整數(shù)型 .參數(shù) ByteLen, 整數(shù)型 .DLL命令 GlobalSize, 整數(shù)型, "kernel32", "GlobalSize", , 返回全局內(nèi)存塊大小 .參數(shù) hMem, MODULES
自定義數(shù)據(jù)類型表
.版本 2 .數(shù)據(jù)類型 內(nèi)核驅(qū)動成員 .成員 驅(qū)動文件名, 文本型 .數(shù)據(jù)類型 MODULES .成員 dwNumberOfModules, 整數(shù)型 .成員 ModuleInformation, INFORMATION .數(shù)據(jù)類型 INFORMATION .成員 dwReserved, 整數(shù)型, , "2" .成員 dwBase, 整數(shù)型 .成員 dwSize, 整數(shù)型 .成員 dwFlags, 整數(shù)型 .成員 Index, 短整數(shù)型 .成員 Unknown, 短整數(shù)型 .成員 LoadCount, 短整數(shù)型 .成員 ModuleNameOffset, 短整數(shù)型 .成員 ImageName, 字節(jié)型, , "256"
判斷驅(qū)動是否存在的代碼
.版本 2
.支持庫 spec
.程序集 窗口程序集1
.子程序 _判斷按鈕_被單擊
.判斷開始 (驅(qū)動是否存在 (“PCHunter64ao.sys”) = 真 或 驅(qū)動是否存在 (“PCHunter32ao.sys”) = 真)
信息框 (“存在”, 64, , )
.默認(rèn)
信息框 (“不存在”, 16, , )
.判斷結(jié)束
.子程序 驅(qū)動是否存在, 邏輯型, 公開, 取系統(tǒng)已加載的驅(qū)動,成功取到返回真,失敗返回假
.參數(shù) 驅(qū)動名, 文本型
.局部變量 驅(qū)動成員, 內(nèi)核驅(qū)動成員, , "0"
.局部變量 循環(huán)計(jì)次, 整數(shù)型
枚舉系統(tǒng)驅(qū)動 (驅(qū)動成員)
.計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (驅(qū)動成員), 循環(huán)計(jì)次)
.如果真 (驅(qū)動成員 [循環(huán)計(jì)次].驅(qū)動文件名 = 驅(qū)動名)
返回 (真)
跳出循環(huán) ()
.如果真結(jié)束
.計(jì)次循環(huán)尾 ()
返回 (假)
.子程序 枚舉系統(tǒng)驅(qū)動, 整數(shù)型, , 枚舉驅(qū)動,成功返回驅(qū)動數(shù)量,失敗返回0
.參數(shù) 驅(qū)動文件名, 內(nèi)核驅(qū)動成員, 數(shù)組
.局部變量 Ret, 整數(shù)型
.局部變量 ModulesInfo, MODULES
.局部變量 i, 整數(shù)型
.局部變量 x, 整數(shù)型
.局部變量 驅(qū)動名稱, 文本型, , "0"
.局部變量 位置, 整數(shù)型
.局部變量 判斷函數(shù), 整數(shù)型
.局部變量 裝載類型, 內(nèi)核驅(qū)動成員
.局部變量 內(nèi)存申請, 整數(shù)型
清除數(shù)組 (驅(qū)動名稱)
NtQuerySystemInformation (11, 0, 0, Ret)
內(nèi)存申請 = 申請內(nèi)存 (Ret × 2, 真)
NtQuerySystemInformation (11, 內(nèi)存申請, Ret × 2, Ret)
CopyMemory (ModulesInfo, 內(nèi)存申請, GlobalSize (ModulesInfo))
加入成員 (驅(qū)動名稱, 到文本 (ModulesInfo.ModuleInformation.ImageName))
i = ModulesInfo.dwNumberOfModules
判斷函數(shù) = i
.判斷循環(huán)首 (i > 1)
i = i - 1
內(nèi)存申請 = 內(nèi)存申請 + 71 × 4
CopyMemory (ModulesInfo, 內(nèi)存申請, GlobalSize (ModulesInfo))
加入成員 (驅(qū)動名稱, 到文本 (ModulesInfo.ModuleInformation.ImageName))
.判斷循環(huán)尾 ()
.計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (驅(qū)動名稱), x)
位置 = 倒找文本 (驅(qū)動名稱 [x], “\”, , 假)
裝載類型.驅(qū)動文件名 = 取文本右邊 (驅(qū)動名稱 [x], 取文本長度 (驅(qū)動名稱 [x]) - 位置)
加入成員 (驅(qū)動文件名, 裝載類型)
.計(jì)次循環(huán)尾 ()
.如果 (判斷函數(shù) > 1)
返回 (取數(shù)組成員數(shù) (驅(qū)動名稱))
.否則
返回 (0)
.如果結(jié)束
釋放內(nèi)存 (內(nèi)存申請)
運(yùn)行結(jié)果:

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
您可能感興趣的文章:
- 易語言制作絕地求生視野一鍵優(yōu)化的代碼
- 易語言通過post實(shí)現(xiàn)對小米路由器操作的代碼
- 易語言通過解密微博圖片地址獲取發(fā)布者微博地址的代碼
- 易語言獲取網(wǎng)頁端的好友管理頁面信息導(dǎo)出QQ好友的代碼
- 易語言制作王者榮耀刷金幣腳本的代碼
- 易語言內(nèi)存讀取獲得當(dāng)前PC已經(jīng)登陸微信號的代碼
- 易語言實(shí)現(xiàn)QQ空間留言批量刪除的代碼
- 易語言制作連連看小游戲的代碼
- 易語言檢測文件被哪個進(jìn)程占用的代碼
- 易語言不用投遞消息隨意移動控件的代碼
- 易語言通過解析破解艾奇學(xué)院的收費(fèi)視頻的代碼
- 易語言通過文本解析的方式把C代碼轉(zhuǎn)換成易代碼
- 易語言制作語音聊天機(jī)器人的代碼
- 易語言通過計(jì)算替換字節(jié)實(shí)現(xiàn)酷狗音樂緩存文件轉(zhuǎn)MP3的代碼
- 易語言模擬騰訊滑塊條自動驗(yàn)證的代碼
相關(guān)文章
易語言調(diào)用windows消息函數(shù)代碼詳解
在本篇內(nèi)容里我們給大家?guī)砹艘渍Z言調(diào)用windows消息函數(shù)的相關(guān)實(shí)例內(nèi)容,有需要的朋友們參考下。2018-11-11

