网站首页 > 易语言相关 > 系统工具源码 正文
资源介绍:
易代码出于本人之手,另附VB代码注释,VB代码非原创,2年前从看雪某个角落瞄出来翻译的[因为我个人非常喜欢把各种语言互相转换- -],一直把这个功能集成在自己的私人模块里,今天拿出来与大家分享.
因为原代码申请内存释放内存用了自己写的内存控制函数[这个暂且不发了,sorry],我已经换为易语言自己的申请内存[注意,我没有释放],释放内存这些请自行解决,否则查询易论坛,一抓一大把.否则将导致内存大量浪费- -这个你懂的.不过不是经常调用也无所谓,
资源作者:
lms520
资源界面:
.版本 2 .支持库 spec .程序集 窗口程序集1 .子程序 驱动操作_暴力枚举驱动, 整数型, , 暴力枚举驱动,成功返回驱动数量,失败返回0 .参数 驱动文件名, 内核驱动成员, 数组 .局部变量 Ret, 整数型 .局部变量 Buffer, 整数型 .局部变量 ModulesInfo, lms520_MODULES .局部变量 i, 整数型 .局部变量 驱动服务名称, 文本型, , "0" .局部变量 X, 整数型 .局部变量 位置A, 整数型 .局部变量 判断函数, 整数型 .局部变量 装载类型, 内核驱动成员 ' '''''''''定义数据类型SYSTEM_MODULE_INFORMATION' ''''''''' ' Option Explicit ' Private Type SYSTEM_MODULE_INFORMATION ' dwReserved(1) As Long ' dwBase As Long ' dwSize As Long ' dwFlags As Long ' Index As Integer ' Unknown As Integer ' LoadCount As Integer ' ModuleNameOffset As Integer ' ImageName As String * 256 ' End Type ' '''''''''定义数据类型MODULES' ''''''''' ' Private Type MODULES ' dwNumberOfModules As Long ' ModuleInformation As SYSTEM_MODULE_INFORMATION ' End Type ' '''''''''定义API函数''''''''''''''''''' ' Private Declare Function NtQuerySystemInformation Lib "NTDLL.DLL" ( _ ' ByVal SystemInformationClass As Long, _ ' ByVal pSystemInformation As Long, _ ' ByVal SystemInformationLength As Long, _ ' ByRef ReturnLength As Long) As Long ' Private Declare Function VirtualAlloc Lib "kernel32.dll" ( _ ' ByVal Address As Long, _ ' ByVal dwSize As Long, _ ' ByVal AllocationType As Long, _ ' ByVal Protect As Long) As Long ' Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _ ' ByVal pDst As Long, _ ' ByVal pSrc As Long, _ ' ByVal ByteLen As Long) ' '''''''''定义常量''''''''''''''''''' ' Private Const SystemModuleInformation = 11 ' Private Const PAGE_READWRITE = &H4 ' Private Const MEM_RELEASE = &H8000 ' Private Const MEM_COMMIT = &H1000 清除数组 (驱动服务名称) ' Private Sub cmdEnum_Click() ' Dim Ret As Long ' Dim Buffer As Long ' Dim ModulesInfo As MODULES ' Dim i As Long ' NtQuerySystemInformation SystemModuleInformation, 0, 0, Ret meiju_NtQuerySystemInformation (#SystemModuleInformation, 0, 0, Ret) ' Buffer = VirtualAlloc(0, Ret * 2, MEM_COMMIT, PAGE_READWRITE) Buffer = 申请内存 (Ret × 2, 真) ' Buffer = meiju_VirtualAlloc (0, Ret × 2, #MEM_COMMIT, #PAGE_READWRITE) 调试输出 (Buffer) ' NtQuerySystemInformation SystemModuleInformation, Buffer, Ret * 2, Ret meiju_NtQuerySystemInformation (#SystemModuleInformation, Buffer, Ret × 2, Ret) ' CopyMemory ByVal VarPtr(ModulesInfo), ByVal Buffer, LenB(ModulesInfo) meiju_CopyMemory (ModulesInfo, Buffer, meiju_GlobalSize (ModulesInfo)) ' lstModule.Clear '列表框.清空() ' lstModule.AddItem "Total: " & ModulesInfo.dwNumberOfModules & " Modules" ' lstModule.AddItem StrConv(ModulesInfo.ModuleInformation.ImageName, vbUnicode) ' 输出调试文本 (“Total: ” + 到文本 (ModulesInfo.dwNumberOfModules) + “ Modules”) ' 输出调试文本 (到文本 (ModulesInfo.ModuleInformation.ImageName)) 加入成员 (驱动服务名称, 到文本 (ModulesInfo.ModuleInformation.ImageName)) ' i = ModulesInfo.dwNumberOfModules i = ModulesInfo.dwNumberOfModules 判断函数 = i .判断循环首 (i > 1) i = i - 1 Buffer = Buffer + 71 × 4 ' While (i > 1) ' i = i - 1 ' Buffer = Buffer + 71 * 4 meiju_CopyMemory (ModulesInfo, Buffer, meiju_GlobalSize (ModulesInfo)) ' CopyMemory ByVal VarPtr(ModulesInfo), ByVal Buffer, LenB(ModulesInfo) ' 输出调试文本 (到文本 (ModulesInfo.ModuleInformation.ImageName)) 加入成员 (驱动服务名称, 到文本 (ModulesInfo.ModuleInformation.ImageName)) ' lstModule.AddItem StrConv(ModulesInfo.ModuleInformation.ImageName, vbUnicode) ' Wend .判断循环尾 () .计次循环首 (取数组成员数 (驱动服务名称), X) 位置A = 倒找文本 (驱动服务名称 [X], “”, , 假) 装载类型.驱动文件名 = 取文本右边 (驱动服务名称 [X], 取文本长度 (驱动服务名称 [X]) - 位置A) 装载类型.驱动全路径名 = 驱动服务名称 [X] 加入成员 (驱动文件名, 装载类型) .计次循环尾 () .如果 (判断函数 > 1) 返回 (取数组成员数 (驱动服务名称)) .否则 返回 (0) .如果结束 ' 本源码来自三叶资源网(www.sanye.cx) .子程序 _按钮1_被单击 .局部变量 局_驱动数据, 内核驱动成员, , "0" .局部变量 循环, 整数型 编辑框1.内容 = “” 驱动操作_暴力枚举驱动 (局_驱动数据) .计次循环首 (取数组成员数 (局_驱动数据), 循环) 编辑框1.加入文本 (“驱动文件名:” + 局_驱动数据 [循环].驱动文件名 + #换行符 + “驱动全路径名:” + 局_驱动数据 [循环].驱动全路径名 + #换行符) .计次循环尾 () ' 本源码来自三叶资源网(www.sanye.cx)
资源下载:
猜你喜欢
- 2021-11-09 快启动源码(类似音速启动)
- 2021-11-07 Edis86-易语言独立开发的反汇编引擎纯源码
- 2021-11-06 Windows仿资源管理器
- 2021-10-29 WINDOWS/LINUX/SFTP远程连接管理工具V3.0加强开源
- 2019-07-25 修改易语言模块图标源码
- 2019-06-21 基于SunDay匹配算法改良的寻找字节集易语言源码
- 2019-04-21 易语言获取本机信息源码
- 2019-03-31 电脑缓存清理助手易语言源码
- 2019-03-30 Windows系统管理工具源码
- 2019-01-15 内存特征码搜索定位(采用KMP算法)
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有3位网友发表了看法:
易语言 评论于 [2020-09-11 10:30:45] 回复
vb ntquerysysteminformation
易语言资源 评论于 [2021-12-06 14:15:03] 回复
NtQuerySystemInformation
易语言资源 评论于 [2021-12-06 14:15:51] 回复
NtQuerySystemInformation 检测驱动