mfc 中如何打开 关闭一个exe文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mfc 中如何打开 关闭一个exe文件相关的知识,希望对你有一定的参考价值。

rt

参考技术A 打开程序用
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 后缺少 mfc120d.dll

【中文标题】打开我的项目 exe 后缺少 mfc120d.dll【英文标题】:mfc120d.dll is missing after opening my project exe 【发布时间】:2019-02-20 09:55:49 【问题描述】:

我有一个 MFC vc++ 项目,并且我有使用 Visual Studio 2013 的该项目的 exe 文件。当我打开项目 exe 时,它​​在我的开发机器上运行良好。

但是当我在客户的机器上打开这个 exe 时,我会收到以下错误消息:

程序无法启动,因为您的计算机中缺少 mfc120d.dll。尝试重新安装程序以解决此问题

我注意到如果系统安装了 Visual Studio,我的项目 exe 文件正在运行。我还安装了“Visual C++ Redistributable Packages for Visual Studio 2013”,但即便如此我也遇到了同样的错误。请提出解决方案。

【问题讨论】:

仔细阅读错误信息。 mfc120.dll 没有丢失,但 mfc120d.dll 丢失了。您已在客户计算机上部署了 .exe 的调试版本。而是部署发布版本。相关:***.com/questions/22939558/… The program can't start because mfc120ud.dll is missing from your computer的可能重复 感谢您的建议。我安装了 32 位版本的 Visual C++ Redistribute,并在我的项目中删除了不需要的第三方调试 dll。现在它正在工作。 【参考方案1】:

这是因为您部署了应用的调试版本。如果这是故意的(能够远程调试?),您可以从 VS2013 安装目录中找到并部署 mfc120d.dll。 否则只需构建发布配置就可以了。

【讨论】:

以上是关于mfc 中如何打开 关闭一个exe文件的主要内容,如果未能解决你的问题,请参考以下文章

MFC下如何关闭外部程序,例如关闭一个以notepad.exe D:\\text.txt打开的进程

MFC 中如何点击一个按钮,则主窗口关闭,在重新加载打开

如何在保持文档打开的同时关闭 MFC CVIEW

如何在 C++ MFC 中一次打开两个对话框?

MFC读取excel文件程序,在release模式下正常读取,但在debug模式编译没问题,运行就关闭,求高手!

打开我的项目 exe 后缺少 mfc120d.dll