操作别的进程的内存:
1.用Process32First和Process32Next可以玫举所有的进程(Window95/98实现了,WINNT4.0以及一下没有实现,Win2000实现了,如果是用NT4的话,就比较麻烦了,要用Performanance Data,太麻烦了,不说了。)
2.用VirtualQueryEx可以得到一个进程的内存的信息,如开始地址等(95/98/NT4/2000都实现了,就NT3.5没实现,要自己写)
3.然后用ReadProcessMemory和WriteProcessMemory就可以实现对某一进程内存的修改,这两个函数95/98/NT4/2000都实现了,读和写的方式是通过ReadPorcessMemory将内存块读到本进程中,就是在本进程上的一个拷贝,然后对这个拷贝执行各种操作,反正是在本进程中地一个拷贝(本进程中的一片内存),随你怎么操作啦,再将内存块用WriteProcessMemory写回去,就实现了对该内存数据的修改,象金山游侠、FPE那样的操作实际都是先对在本进程中的拷贝进行操作,然后将拷贝写回去。
1.用Process32First和Process32Next可以玫举所有的进程(Window95/98实现了,WINNT4.0以及一下没有实现,Win2000实现了,如果是用NT4的话,就比较麻烦了,要用Performanance Data,太麻烦了,不说了。)
2.用VirtualQueryEx可以得到一个进程的内存的信息,如开始地址等(95/98/NT4/2000都实现了,就NT3.5没实现,要自己写)
3.然后用ReadProcessMemory和WriteProcessMemory就可以实现对某一进程内存的修改,这两个函数95/98/NT4/2000都实现了,读和写的方式是通过ReadPorcessMemory将内存块读到本进程中,就是在本进程上的一个拷贝,然后对这个拷贝执行各种操作,反正是在本进程中地一个拷贝(本进程中的一片内存),随你怎么操作啦,再将内存块用WriteProcessMemory写回去,就实现了对该内存数据的修改,象金山游侠、FPE那样的操作实际都是先对在本进程中的拷贝进行操作,然后将拷贝写回去。
解决方案 »
- indy 9如何处理数据接收?比如twinsocket的onread一样。
- 我想做个混响,各位能给个思路吗?
- 一些界面编程的问题,恳请各位前辈帮帮忙
- delphi编写的dll资源被VC调用的问题?
- ******非常急!我想在DELPHI中用程序实现控制SQL SERVER 2000但不知道怎么实现,在线等待。。。。。****
- 怎样将image上已画好的图象清除?
- 我是新手!!
- 送分,前10位!
- 最近看了一下人才网,发现到处都是Delphi的天下,所以想转学Delphi,各位大虾有没有什么好的建议和方法。
- Delphi,vb我该学哪个?
- sql的问题,急急!!
- 如果使StringGrid能够合并固定的标头呀?给分100!!!!
HANDLE hProcess //待处理的进程的句柄
LPCVOID lpBaseAddress, //待处理的进程的要读取数据块的起始地址
LPVOID lpBuffer, //缓冲区地址
DWORD nSize, //要读的字节数
LPDWORD lpNumberOfBytesRead //函数处理后实际读取得字节数,要传地址
释放内存:FreeMem
flypuma(飞豹) 说得太详细了,呵呵。
DialogBoxIndirectParam 从内存模块中建立对话框
CreateDialogIndirectParam 从内存模块中建立非模态对话框
HeapAlloc 从堆中分配内存
HeapReAlloc 从堆中重分配内存
LocalAlloc 从堆分配内存
LocalUnlock 开锁本地内存块
GlobalUnlock 开锁全局内存块
HeapCompact 压缩内存堆
ReadProcessMemory 在进程中读内存
WriteProcessMemory 在指定进程中写内存
GlobalAlloc 在堆中分配内存
LocalSize 返回本地内存块大小
LocalFlags 返回本地内存块信息
GlobalSize 返回全局内存块大小
GlobalFlags 返回全局内存块信息
LocalReAlloc 修改本地内存大小及属性
GlobalReAlloc 修改全局内存块大小/属性
ZeroMemory 将一块内存置零
GlobalMemoryStatus 检查内存状态
HeapFree 释放从堆中分配的内存
LocalFree 释放本地内存信息
GlobalFree 释放全局内存块
GlobalLock 锁定内存对象并返回一个指针
LocalLock 锁定本地内存对象并返回指针
LoadKeyboardLayout 键盘布置装入内存