先用FINDWINDOWS得到另外一个程序的句柄
然后使用GETWINDOWTHREADPROESSID得到线程的ID号
再使用OPENPROCESS得到进程的句柄
然后使用ReadProcessMemory就可以了。以上的方法我在制作游戏修改器的时候已经通过了,如需要原代码请联系我
记得给分哦!!! ^_^
然后使用GETWINDOWTHREADPROESSID得到线程的ID号
再使用OPENPROCESS得到进程的句柄
然后使用ReadProcessMemory就可以了。以上的方法我在制作游戏修改器的时候已经通过了,如需要原代码请联系我
记得给分哦!!! ^_^
解决方案 »
- 不用数组如何能创建一个顺序存储的线性表?
- 急求如何调用另一进程中的某函数
- delphi新手问题,,前辈请入````
- 如何做出查找下一个记录的效果?
- 文本保存是文件名处理的问题?
- 请问,INTRAWEB怎么让客户端的IE打开时全屏幕?谢谢!
- 如何把delphi函数或过程转化为16进制代码
- Delphi WebBrowse 无法打开页面
- 天哪,看我找到了什么?我在我家的地下室里的一个古老的箱子里发现一张光盘,里面有个叫ABC的控件套件,其规模之大,设计领域之广,仅次于Delphi自带的控件,Rxlib与之相比简直是小巫见大巫,还有源代码,可是,请问这套控件是免费的吗?可以放心的用吗?
- 菜菜的问题,请帮帮我,分已经用光了,一定加!??
- 我的问题:如何生成这些字符串
- vsd后缀名,用什么软件可打开?
[email protected]
例子如果你想要的话,我可以发给你。这里我再把我的代码关键的部分拿出来,欢迎大家批评指正....这是发送的部分:主窗口上包含两个Button ,一个输入Edit1,一个提示Label.
procedure TfrmSendMsg.Button1Click(Sender: TObject);
var
Win:HWND;
Post:Pointer;
pStr:PShortString;
Str:String;
begin
Str:=Edit1.Text;
MapHandle:=CreateFileMapping(DWord(-1),nil,PAGE_READWRITE,0,250,'summer');
if (MapHandle>0) then
begin
Post:=MapViewOfFile(MapHandle,FILE_MAP_WRITE,0,0,0);
pStr:=Post;
pStr^:=Str; //写共享内存
end;
Win:=FindWindow('TfrmRecvMsg',nil);
If Win>0 then
Begin
PostMessage(Win,WM_USER+100,0,0); //发消息给接收程序的主窗口...
Edit1.SetFocus;
Label2.Caption:='发送完成!';
end
Else
Begin
Label2.Caption:='接收器没有运行!';
end;
end;这是接收部分:
主窗口包含一个Memo1.unit RecvMsg;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TfrmRecvMsg = class(TForm)
Memo1: TMemo;
Label1: TLabel;
private
procedure GetMsg(var Msg: TMessage);Message WM_USER+100; //在这里增加接收的过程
{ Private declarations }
public
{ Public declarations }
end;var
frmRecvMsg: TfrmRecvMsg;implementation{$R *.DFM}{ TfrmRecvMsg }procedure TfrmRecvMsg.GetMsg(var Msg: TMessage);
var
MapHandle:THandle;
pStr:Pointer;
Str:String;
begin
MapHandle:=CreateFileMapping(DWord(-1),nil,PAGE_READWRITE,0,255,'summer');
if (MapHandle>0) then
begin
pStr:=MapViewOfFile(MapHandle,FILE_MAP_READ,0,0,10); //得到共享内存的指针
Memo1.Lines.Add('收到一条消息!!');
Memo1.Lines.Add(Pchar(pStr));
end;
CloseHandle(MapHandle);
end;end.
[email protected]