- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(内存读取操作步骤
1.通过FindWindow读取窗体的句柄
2.通过GetWindowThreadProcessId读取查找窗体句柄进程的PID值
var
nProcId:DWord;
nProcId:=GetWindowThreadProcessId(hFound, @nProcId); 3.用OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, 0, ProcessId)打开查到PID值的进程. 此打开具备读取,写入,查询的权限 OpenProcess 打开方式,false,进程ID
(1).VB声明
Declare Function OpenProcessLib kernel32 Alias OpenProcess (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
说明
打开一个现有进程的句柄 2).返回值
Long,如执行成功,返回进程句柄;零表示失败。会设置GetLastError
3).参数表
参数 类型 及 说明
dwDesiredAccess Long,指定这个句柄要求的访问方法。指定API32.TXT文件中以PROCESS_???开头的一个或多个常数 Private Const PROCESS_ALL_ACCESS = H1F0FFF 全权打开进程 bInheritHandle Long,如句柄能够由子进程继承,则为TRUE
dwProcessId Long,要打开那个进程的进程标识符 PID(Process ID) 操作系统里指进程ID号。操作系统里每打开一个程序都会创建一个进程ID,即PID。
PID(进程控制符)英文全称为Process Identifier,它也属于电工电子类技术术语。
PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。
PID一列代表了各进程的进程ID,也就是说,PID就是各进程的身份标识。 4).注解
这个函数经常用来打开一个要进行同步的进程(同步:即步调协同,你说完,我再说,按说好的先后次序来)
5.)举例
Private Declare Function OpenProcess Lib kernel32 (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function ReadProcessMemory Lib kernel32 (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib kernel32 (ByVal hObject As Long) As Long
Const PROCESS_ALL_ACCESS = H1F0FFF Dim hProcess As Long
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid) 打开进程
If hProcess Then ReadProcessMemory hProcess, ByVal H12F82C, base, 4, 0 读写进程内存
CloseHandle hProcess 关闭进程句柄
End If4.ReadProcessMemory读出指定的内存地址数据Private Declare Function ReadProcessMemory Lib kernel32 Alias ReadProcessMemory (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
、参数
hProcess [in]远
您可能关注的文档
最近下载
- 红、黄、绿交通信号灯的-PLC-控制线路设计.doc VIP
- 《学前教育政策法规》教案--第5课--儿童权利与保护(一).pdf VIP
- Q∕SY 10556.2-2022 工业控制系统网络安全技术规范 第2部分:成品油库及加油加气站.pdf
- 研究生学术规范与学术诚信-南京大学-中国大学MOOC慕课答案.pdf VIP
- 2025-2026人教版(2024)七年级上册英语教学计划 (三篇).docx VIP
- 第4周《七十六载锦绣山河,筑梦时代最美华章》主题班会【课件】.pptx
- 部编版历史九年级上册优质教案全册.doc VIP
- DB32_T 4303-2022建设工程质量检测技术管理规程(修订).docx VIP
- 地理信息系统教程(第二版)全套PPT课件.pptx
- 平面交叉道口应急方案.doc VIP
文档评论(0)