关于资源释放的问题?

sunnysheng 2004-10-10 04:53:20
本人自己做了一个资源文件,里面包含一个Exe_Res.exe文件,现想把它释放出来到磁盘上并且立即执行它,程序关闭一并删除该Exe_Res.exe文件,请问该如何写?如果不想把它释放到磁盘上,而是释放到内存里,然后立即执行,这样又该如何写?
请教各位专家!谢谢!。
...全文
58 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnysheng 2004-10-11
  • 打赏
  • 举报
回复
不好意思,由于主题把我搞的晕乎乎的,连自动运行的代码也不会写了,是不是用ShellExecute啊。
sunnysheng 2004-10-11
  • 打赏
  • 举报
回复
请问一下各位专家:
若释放到磁盘上的话,如何让这个Exe_Res.exe文件能自动运行呢?
baiyongchun 2004-10-10
  • 打赏
  • 举报
回复
而是释放到内存里,然后立即执行,这样又该如何写?
-------------------
将可执行代码,射入其它进程。用createremotethread();
ly_liuyang 2004-10-10
  • 打赏
  • 举报
回复
1)同步运行
function TExecForm.Exec(FileName: string; Visibility: integer): integer;
var
zAppName: array [0..512] of Char;
zCurDir: array [0..255] of Char;
WorkDir: string;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
ExitCode: Cardinal;
begin
StrPCopy(zAppName, FileName);
GetDir(0, WorkDir);
StrPCopy(zCurDir, WorkDir);
FillChar(StartupInfo, SizeOf(StartupInfo), #0);
StartupInfo.cb := SizeOf(StartupInfo);
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil, zAppName, nil, nil, false, Create_New_Console or Normal_priority_class,
nil, nil, StartupInfo, ProcessInfo) then Result:=-1
else begin
WaitForSingleObject(ProcessInfo.hProcess, Infinite);
GetExitCodeProcess(ProcessInfo.hProcess, ExitCode);
Result := ExitCode;
end;
end;

2)难度非常高,你需要动态修正Import Table,如同病毒的寄生方法。其实就是同一个空间执行2个程序,普通人搞不来的

http://lysoft.7u7.net
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-10-10 04:53
社区公告
暂无公告