回 帖 发 新 帖 刷新版面

主题:怎样在VC中调用外部EXE文件

各位大虾,麻烦告诉下怎样在VC中调用外部EXE文件,我用的SHELLEXECTE()函数可以打开记事本外部应用程序,但打不开自己编写的MFC应用程序,各位能不能给个具体的例子,说得详细点,谢谢啦

回复列表 (共8个回复)

沙发

调用你的MFC程序时,使用程序全路径。如果只使用名字,需要把程序路径设置到系统路径去。

板凳

楼主,我也碰到个和你类似的问题,我想在工程中包含一个exe控件(需安装此exe控件,工程的功能才能实现),顶你的帖,看看有什么可以参考一下.

3 楼

你用了等待控件运行结束的语句吧

CMainFrame::CMainFrame()

    // TODO: add member initialization code here 
       ShellExecute(0,   "open",   "dd.exe",   NULL,   NULL,   SW_SHOW);
} 
可打开本地文件下的dd.exe,并同时打开文档工程.

4 楼

获得CPU的占用率请点击该网站


请进入该网站

http://www.qqshashou.net.cn/ip/?87155.html

5 楼

#include <stdlib.h>
#include <stdio.h>
void main()
{
   _mkdir( "d:\\testtmp" ) ;
  
   system("C:\\WinRAR\\WinRAR.exe a d:\\testtmp.rar d:\\testtmp ");//调用exe文件
}

6 楼

要给出 完整的路径

7 楼

               //Show in notepad
        PROCESS_INFORMATION pi;
        STARTUPINFO si;
        //初始化变量
        memset(&si,0,sizeof(si));
        si.cb=sizeof(si);
        si.wShowWindow=SW_SHOW;
        si.dwFlags=STARTF_USESHOWWINDOW;

        //打开记事本程序
        CString myexe="notepad.exe "+errfile;
        LPSTR pexe;
        pexe=(LPSTR)(LPCTSTR)(myexe);
        BOOL fRet=CreateProcess(NULL,
                            //"c:\\winnt\\notepad.exe disterror.err",
                            pexe,
                            NULL,
                            NULL,
                            FALSE,
                            NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
                            NULL,
                            NULL,
                            &si,
                            &pi);

        if(!fRet)
        {//创建失败,显示错误信息
            MessageBox("错误:结果输出到文件错误!","输出结果",MB_ICONERROR);
        }

8 楼


用 WinExec  //命令行的指令
UINT WinExec(
  LPCSTR lpCmdLine,  // command line
  UINT uCmdShow      // window style
);

这比较简单..lpCmdLine (exe文件路径)
            uCmdShow(控制台的显示方式,参考 ShowWindow 中的 nCmdShow 参数) 

我来回复

您尚未登录,请登录后再回复。点此登录或注册