如何执行内存中的一个流文件(*.exe) (100分)

  • 主题发起人 主题发起人 goodbobi
  • 开始时间 开始时间
G

goodbobi

Unregistered / Unconfirmed
GUEST, unregistred user!
我已经将一个a.exe转换成一个資源文件(.res),可以用delphi如此调入和执行:<br>Res := TResourceStream.Create(Hinstance, 'KK', 'EXEFILE');<br>GetTempPath(255, sTempPath);<br>Res.SavetoFile(sTempPath+'/Temp.exe');<br>WinExec(PChar(sTempPath+'/Temp.exe'),SW_SHOW);<br>但我不想保存到硬盘,因为涉及到一些敏感信息.说白了就是没有授权检查,但a.exe的源代码又掉了.所以只好做个delphi程序做授权检查,正确后再运行这个调入的资源文件.<br>下面写法执行后运行不正确(该程序执行后无结果.):<br>{$R *.RES}<br>{$R kk.res}<br>var<br>&nbsp; hResInfo : THandle;<br>&nbsp; PtrSound : PChar='';<br>&nbsp; hRes : THandle; {handle to the loaded resource, if 0 indicates nothing playing}<br>&nbsp; hResInfo := FindResource(HInstance, 'KK', 'EXEFILE');<br>&nbsp; hRes := LoadResource(HInstance, hResInfo);<br>&nbsp; if hRes &gt; 32 then {its a good load, begin {lock the resource}<br>&nbsp; &nbsp; ptrSound:=LockResource(hRes);<br>&nbsp; &nbsp; WinExec(PtrSound,SW_SHOW);<br>
 
查看winexec的函数吧,可以打开句柄吗?<br><br>这个问题很多人问,我有类似的代码.kimlon@163.com
 
有這個代碼就給我一份tks.<br>my_netbox@hotmail.com<br>
 
谁教你的?把一个 exe 文件在内存中的起始位置交给 WinExec 执行?
 
关注此题! 我也弄了很久搞不定.
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2530743 &nbsp;
 
后退
顶部