MFC打开外部程序

来源:互联网 发布:美迪淘宝培训 编辑:程序博客网 时间:2024/06/02 07:29

MFC打开外部程序程序用到几个函数,都比较简单,不明白的可以看MSDN!
WinExec
这个函数只有两个参数,原型如下:
UINT WinExec(
  LPCSTR lpCmdLine,  //指定路径 
  UINT uCmdShow      //显示方式   例如SW_SHOW方式显示
);
使用方法:

WinExec("C:\\WINDOWS\\NOTEPAD.EXE,SW_SHOW“)  //打开记事本

文件名的大小写也必须完全一样

ShellExecute

原型如下:

 HINSTANCE ShellExecute(     HWND hwnd,            //父窗口句柄     LPCTSTR lpOperation,    //操作, 打开方式"edit","explore","open","find","print","NULL"     LPCTSTR lpFile,         //文件名,前面可加路径     LPCTSTR lpParameters,   //参数     LPCTSTR lpDirectory,     //默认文件夹     INT nShowCmd           //显示方式);

使用方法:

ShellExecute(NULL,"open","C:\\NOTEPAD.EXE",NULL,NULL,SW_SHOWNORMAL); // 打开C:\NOTEPAD.EXE 文件
ShellExecute(NULL, "open", "http://www.nonecode.com", NULL, NULL, SW_SHOWNORMAL); // 打开网页www.nonecode.com
ShellExecute(NULL,"explore", "D:\\C++",NULL,NULL,SW_SHOWNORMAL); // 打开目录D:\C++
ShellExecute(NULL,"print","C:\\Test.txt",NULL,NULL, SW_HIDE);// 打印文件C:\Test.txt

注意:ShellExecute不支持定向输出。

CreateProcess
原型如下:

     BOOL CreateProcess(      LPCTSTR lpApplicationName, //执行程序名      LPTSTR lpCommandLine, // 参数行       //下面两个参数描述了所创建的进程和线程的安全属性,如果为NULL则使用默认的安全属性      LPSECURITY_ATTRIBUTES lpProcessAttributes, //process security attributes     LPSECURITY_ATTRIBUTES lpThreadAttributes,    // thread security attributes       BOOL bInheritHandles, // 继承标志      DWORD dwCreationFlags, // 创建标志      LPVOID lpEnvironment, // 环境变量      LPCTSTR lpCurrentDirectory,   // 运行该进程的初始目录      LPSTARTUPINFO lpStartupInfo, // 用于在创建子进程时设置各种属性      LPPROCESS_INFORMATION lpProcessInformation //用于在进程创建后接受相关信息    );

使用方法:

            PROCESS_INFORMATION pi; //启动窗口的信息           STARTUPINFO si; //进程的信息           memset(&si,0,sizeof(si));           si.cb=sizeof(si);           si.wShowWindow=SW_SHOW;           si.dwFlags=STARTF_USESHOWWINDOW;           bool fRet=CreateProcess("D:\\putty.exe",NULL,NULL,FALSE,NULL,NULL,NULL,NULL,&si,&pi);