如何用MFC打开一个EXE文件?

如何用MFC打开一个EXE文件?,第1张

打开程序

WinExec("程序路径",SW_SHOW)

关闭自己用exit(0)

关闭别的程序,首先获得程序的PID,然后

int TerminateProcessFromId(DWORD dwId) //关闭进程

{

BOOL bRet=FALSE

HANDLE hProcess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwId)

if(hProcess!=NULL)

{

bRet=::TerminateProcess(hProcess,0)

}

::CloseHandle(hProcess)

if(bRet)

printf("%d 进程结束成谈虚搜功......\n\n\n\n",dwId)

else

printf("%d 进含历程结束失败......\n\n\n\誉老n",dwId)

return 0

}

只有一个问题,那就是如何在程序里去执行另一个exe的问题。而知州搏道怎么执行册悄祥一运宏个exe了,只要把代码放在button被点击的消息处理函数里就可以了。

执行exe的方式

ShellExecute

或者

Exec

可以。假设mfc.exe是你最终发布的可执行文件。a.exe是你要包含的可执行文件。

实现的思路是:

把a.exe以二进卖世制资源的形式放到mfc.exe的RC资源中,

运行时从mfc.exe中释放出a.exe并用ShellExecute运行。

mfc.exe该如何编写:

1.a.exe以二进制资源的形核陪式放到mfc.exe的RC资源中

2.使用FindResource获取资源句柄

3.使用SizeofResource获取该资源(即a.exe)的大小

4.使用LoadResource将该资源加载到内存缓冲区中

5.构造CFile对象,将缓冲区中数据写入到系统临时文件夹。

6.这样在系统临时文件夹中就会生成a.exe

7.使用ShellExecute运行a.exe

这样改配蠢最终只发布mfc.exe一个可执行文件,a.exe已经包含在里面了,运行时会释放出来再ShellExecute


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

原文地址: https://outofmemory.cn/yw/12273577.html

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

发表评论

登录后才能评论

评论列表(0条)

保存