首页 > 编程 > 易语言 > 正文

易语言枚举电脑驱动判断是否存在指定驱动的代码

2024-07-21 23:02:40
字体:
来源:转载
供稿:网友

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).如果结束释放内存 (内存申请)

运行结果:

易语言,枚举,电脑驱动,代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VeVb武林网的支持。


注:相关教程知识阅读请移步到易语言教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表