Delphi设计2个程序A和B,B程序监控A程序所产生的messageBox消息,并可以通过B程序实现消息框的触发

Delphi设计2个程序A和B,B程序监控A程序所产生的messageBox消息,并可以通过B程序实现消息框的触发,第1张

有两种方法可以做到

1 在系统里遍历所有窗口的标题,找到丛胡这个消息框的卜神标题就可以修改内容

procedure TClient.Button1Click(Sender: TObject)

var WindowName:string

Hwd:HWND/渗弊拦/窗体句柄类型

begin

WindowName:='Server'

Hwd:=FindWindow(nil,PWideChar(windowname))

if(Hwd=0)then

begin

ShowMessage('句柄没找到!')

exit

end

……

end

2 通过内存映射文件做来实现

http://dev.yesky.com/313/2066813.shtml

把exe弄成资源文丛核团件(sample.exe)

1、新建一个文本文件sample.rc

内容为sample exefile sample.exe

2、把sample.exe和sample.rc拷贝到delphi的bin目录下

3、执行dos命令brcc32.exe sample.rc,产生一个sample.res文件,这就是exe的资源文件

4、把sample.res拷贝到你的工程文件目录

主窗体 {$R *.DFM} 下面加上

{$R sample.res}

5、编译,你编译得氏森到的文件就包含了sample.res的资源文件

6、得到资源文件的代码(*.Res)

ExtractRes('exefile','sample',FileName) //FileName你要保存的目录以及文件名

Function ExtractRes(ResType, ResName, ResNewName : String):boolean

var

Res : TResourceStream

begin

try

Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType))

try

Res.SavetoFile(ResNewName)

Result:=true

finally

Res.Free

end

except

Result:=false

end

end

怎么释放到内存中运行,不会[:(!](据说很难)

建议:

1、释放到一个 temp 目录下

2、运行完渗橘删掉


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12450522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存