MFC调用外部EXE文件



在开发MFC应用程序的时候,如果要实现一个特定的功能,当然一般的做法就是添加一个处理这个功能的对话框,给对话框加上类,需要调用功能的时候就直接把对话框掉出来就行了。但是,如果那个功能在一个外部exe实现,而有没有那个exe文件的实现代码,怎么办?直接调用外部的那个exe文件就行了。。

方法一、(进程方式) 
STARTUPINFO   si; 
PROCESS_INFORMATION   pi; 
ZeroMemory(&si,sizeof(si)); 
si.cb = sizeof(si); 
ZeroMemory(&pi,sizeof(pi)); 
if(!CreateProcess(NULL, "E;\Test.exe ",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi))   

        MessageBox( "出错 ", "提示 ",MB_OK|MB_ICONINFORMATION); 

WaitForSingleObject(pi.hProcess,INFINITE); 
CloseHandle(pi.hProcess); 
CloseHandle(pi.hThread); 
方法二、(线程方式) 
WinExec( "Test.Exe ",SW_HIDE);

Q: 如何打开一个应用程序?
ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );

ShellExecute(this->m_hWnd,"open","notepad.exe",
    "c:\\MyLog.log","",SW_SHOW );
As you can see, I haven't passed the full path of the programs. 
 
Q: 如何打开一个同系统程序相关连的文档?
ShellExecute(this->m_hWnd,"open",
    "c:\\abc.txt","","",SW_SHOW );
 
Q: 如何打开一个网页?
ShellExecute(this->m_hWnd,"open",
    "http://hi.baidu.com/%C0%D6%B5%C4%E3%B0%E2%EA/home","","", SW_SHOW );
 
Q: 如何激活相关程序,发送EMAIL?
ShellExecute(this->m_hWnd,"open",
    "mailto:gongziya@gmail.com","","", SW_SHOW );
 
Q: 如何用系统打印机打印文档?
ShellExecute(this->m_hWnd,"print",
    "c:\\abc.txt","","", SW_HIDE);
 
Q: 如何用系统查找功能来查找指定文件?
ShellExecute(m_hWnd,"find","d:\\nish",
    NULL,NULL,SW_SHOW);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小新识图

你的鼓励是我最大的分享动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值