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

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

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言制作语音聊天机器人的代码

    常量数据表 .版本 2 .常量 对话前, "<文本长度: 7>", , text":" .常量 对话后, "<文本长度: 2>", , "} .常量 token前, "<文本长度: 16>", , "access_token":" .常量 双撇号, "<文本长度: 1>", , " .常量 apikey, &q

  • 易语言通过计算替换字节实现酷狗音乐缓存文件转MP3的代码

    DLL命令表 .版本 2 .DLL命令 创建线程_, 整数型, "kernel32", "CreateThread", , CreateThread建立新的线索 .参数 lpThreadAttributes, 整数型, , 0 .参数 dwStackSize, 整数型, , 0 .参数 lpStartAddress, 子程序指针 .参数 lpParameter, 整数型 .参数 dwCreationFlags, 整数型, , 0 .参数 lpThreadId, 整数

  • 易语言通过解析破解艾奇学院的收费视频的代码

    常量数据表 .版本 2 .常量 常量1, "<文本长度: 51>", , href="/home.php?m=Order&a=subCourseConfirm&id=.*?" rel="external nofollow" 艾奇学院收费视频破解的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 iext .支持库 HtmlView .支持库 eAPI .程序集 窗口程序集_启动窗口 .程序集变量 vid, 文本

  • 易语言制作王者荣耀刷金币脚本的代码

    打开黑夜模拟器,按下F10,王者荣耀进入挑战-魔女回忆,开始即可. 王者荣耀刷金币脚本 此功能需要加载精易模块5.6 .版本 2 .支持库 shellEx .支持库 EThread .支持库 eAPI .程序集 窗口程序集_启动窗口 .程序集变量 热键F10, 整数型 .程序集变量 热键Home, 整数型 .程序集变量 集_线程句柄, 整数型 .子程序 __启动窗口_创建完毕 热键F10 = 注册热键 (取窗口句柄 (), 标签1.取窗口句柄 (), 0, #F10键) 热键Home = 注册热

  • 易语言制作连连看小游戏的代码

    图片资源表 .版本 2 .图片 卡通 .图片 横线 .图片 竖线 .图片 左上 .图片 右上 .图片 左下 .图片 右下 .图片 苹果, , 背景图 连连看的代码 .版本 2 .程序集 窗口程序集1 .程序集变量 显示图片, 字节型, , "0" .程序集变量 上次移动, 字节型 .程序集变量 上次点击, 字节型 .程序集变量 横数, 字节型 .程序集变量 竖数, 字节型 .程序集变量 图片数, 字节型 .程序集变量 可消除, 文本型, , "0" .程序集变量 剩

  • 易语言实现QQ空间留言批量删除的代码

    全局变量表 .版本 2 .全局变量 Uin_全, 文本型 .全局变量 Cookie_全, 文本型 QQ快捷启动的代码 .版本 2 .支持库 HtmlView .支持库 iext .程序集 窗口程序集_快速 .子程序 _超文本浏览框1_跳转完毕 .局部变量 返回文本, 文本型 .局部变量 文本分割, 文本型, , "0" .局部变量 二次分割, 文本型, , "0" .局部变量 i, 整数型 .局部变量 s, 整数型 .局部变量 Cookie, 文本型 .局部变量 U

  • 易语言不用投递消息随意移动控件的代码

    不用投递消息移动控件的代码 .版本 2 .程序集 窗口程序集1 .程序集变量 l, 整数型 .程序集变量 r, 整数型 .程序集变量 ml, 整数型 .程序集变量 mr, 整数型 .子程序 _取位置标签_鼠标左键被按下, 逻辑型 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 l = 取位置标签.左边 r = 取位置标签.顶边 ml = 取鼠标水平位置 () mr = 取鼠标垂直位置 () 时钟1.时钟周期 = 10 .子程序 _时钟1_周期事件 .判断开始

  • 易语言通过解密微博图片地址获取发布者微博地址的代码

    常量数据表 .版本 2 .常量 常量1, "<文本长度: 399>", , 'js脚本 返回 origin_number 微博图片获取发布者的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 spec .支持库 eAPI .程序集 窗口程序集1 .子程序 _文本提取按钮_被单击 .局部变量 文本_提取, 文本型 .局部变量 文本_转换, 文本型 .局部变量 文本_结果, 文本型 .局部变量 文本_判断, 文本型 文本_提取 = 文本_倒取出中间文本 (图片地址编辑框

  • 易语言内存读取获得当前PC已经登陆微信号的代码

    取当前PC登陆微信号的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 局部_登陆个数, 整数型 .局部变量 局部_微信号, 文本型, , "0" .局部变量 i, 整数型 局部_登陆个数 = 取当前登陆微信号 (局部_微信号) .计次循环首 (局部_登陆个数, i) 微信号编辑框.内容 = "当前PC登陆微信号:" + 局部_微信号 [i] .计次循环尾 () .子程序 取当前登陆微信号,

  • 易语言通过post实现对小米路由器操作的代码

    操作小米路由器的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 iext2 .程序集 窗口程序集_启动窗口 .程序集变量 IP, 文本型 .程序集变量 cookie, 文本型 .程序集变量 token, 文本型 .子程序 登录, 文本型 .参数 密码, 文本型 .参数 返回内容, 文本型, 参考 .参数 token, 文本型, 参考 .局部变量 临时, 文本型 .局部变量 deviceId, 文本型 .局部变量 key, 文本型 .局部变量 时间戳, 文本型 .局部变量 随机数, 文本

  • 易语言制作绝地求生视野一键优化的代码

    绝地求生一键优化的代码 优化后远处树干不显示,地面光滑,更容易看到远处的敌人. .版本 2 .支持库 shell .支持库 spec .支持库 iext .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 路径编辑框.内容 = 取特定目录 (8) + "..\Local\TslGame\Saved\Config\WindowsNoEditor\" .如果 (文件是否存在 (路径编辑框.内容 + "\一键优化备份\")) 还原按钮.禁止 = 假 .否则

  • 易语言模拟腾讯滑块条自动验证的代码

    模拟腾讯滑动自动验证的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 EThread .支持库 BmpOperate .支持库 spec .程序集 窗口程序集1 .程序集变量 图_原始, 字节集 .程序集变量 图_块, 字节集 .程序集变量 图_模版, 字节集 .程序集变量 初始高度, 整数型 .程序集变量 图_高度, 整数型 .程序集变量 图_宽度, 整数型 .子程序 图片处理, , , 加载图片,并转格式 .局部变量 返回文本, 文本型 .局部变量 vsig, 文本型 返回文本 =

  • 易语言获取网页端的好友管理页面信息导出QQ好友的代码

    全局变量表 .版本 2 .全局变量 Cookie_Overall, 文本型 .全局变量 BKN_Overall, 文本型 QQ快捷启动的代码 .版本 2 .程序集 窗口程序集_窗口1 .子程序 _超文本浏览框1_跳转完毕 .局部变量 Cookie, 文本型 .局部变量 Uin, 文本型 .局部变量 Skey, 文本型 Cookie = 网页_取Cookie ("qun.qq.com") .如果真 (寻找文本 (Cookie, "p_skey", , 假) ≠ -1)

  • 易语言通过文本解析的方式把C代码转换成易代码

    常量数据表 .版本 2 .常量 c, "<文本长度: 759>", , '常量值是一段C代码 C代码转易代码 .版本 2 .支持库 commobj .支持库 iext2 .程序集 窗口程序集_启动窗口 .程序集变量 k, 快速文本对象 .程序集变量 k2, 快速文本对象 .子程序 __启动窗口_创建完毕 .局部变量 z, 字符格式 z.字体大小 = 8 z.字体名称 = "微软雅黑" d1.置默认字符格式 (z) d2.置默认字符格式 (z) d1.内容

  • 易语言检测文件被哪个进程占用的代码

    检测文件占用的代码 此功能需要加载贝贝吧模块6.6 .版本 2 .支持库 eAPI .程序集 窗口程序集_启动窗口 .子程序 _查询按钮_被单击 .局部变量 进程名, 进程信息, , "0" .局部变量 进程id, 整数型, , "0" .局部变量 a, 整数型, , "0" .局部变量 i, 整数型 进程名 = 取系统进程列表 () 显示占用列表框.清空 () .计次循环首 (取数组成员数 (进程名), i) .如果真 (寻找文本 (到小写 (

随机推荐