MFC-ShellExecute创建进程

 

复制代码
    //int iRet = (int)ShellExecute(m_hWnd, _T("open"), _T("C:\\WINDOWS\\NOTEPAD.EXE"), _T("C:\\123.txt"), NULL, SW_SHOW);//创建进程-打开记事本文件
    /*
    运行一个外部程序,或者打开一个已注册的文件、打开一个目录、打印文件等等功能,
    它可以打开电脑内的任何文件,也可以打开URL
    参数1:HWND hwnd 用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口
    参数2:用于指定要进行的操作,当参数为NULL时,默认操作"open"
            "open",表示执行由lpFile参数指定的程序,或者打开由lpFile参数指定的文件或文件夹
            "explort",表示打开由lpFile参数指定的文件夹
            "print",表示打印由lpFile参数指定的文件
    参数3:LPCTSTR lpFile 用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名
            第三个参数可以不指定,这样系统会根据第三个参数传进来的文件类型找到关联的文件进行打开操作!
    参数4:LPCTSTR lpParameters  若lpFile参数是一个可执行文件,则此参数指定命令行参数,否则此参数应设为NULL
    参数5:LPCTSTR lpDirectory   用于指定默认目录
    参数6:INT nShowCmd       用于指定程序窗口初始显示方式
            #define SW_HIDE             0     隐藏窗体,并激活另一个窗体
            #define SW_SHOWNORMAL       1     与SW_RESTORE相同
            #define SW_SHOWMINIMIZED    2     激活并以最小化的形式显示窗体
            #define SW_SHOWMAXIMIZED    3     激活并以最大化的形式显示窗体
            #define SW_MAXIMIZE         3     最大化指定的窗体
            #define SW_SHOWNOACTIVATE   4     以上次的状态显示指定的窗体,但不激活它
            #define SW_SHOW             5     激活窗体,并将其显示在当前的大小和位置上
            #define SW_MINIMIZE         6     最小化指定的窗体,并激活另一个窗体
            #define SW_SHOWMINNOACTIVE  7     以最小化形式显示指定的窗体,但不激活它
            #define SW_SHOWNA           8     以当前的状态显示指定的窗体,但不激活它
            #define SW_RESTORE          9     以原本的大小和位置,激活并显示指定的窗体
            #define SW_SHOWDEFAULT      10    设置显示的状态由STARTUPINFO结构体指定

    返回值:执行成功会返回应用程序句柄
            返回的HINSTANCE可以将它转换为一个整数(%d),并比较它的值大于还是小于32或比较它的错误代码
            返回值大于32表示执行成功
            返回值小于32表示执行错误
            返回值可能的错误有: = 0 {内存不足}
            ERROR_FILE_NOT_FOUND = 2; {文件名错误}
            ERROR_PATH_NOT_FOUND = 3; {路径名错误}
            ERROR_BAD_FORMAT = 11; {EXE 文件无效}
            SE_ERR_SHARE = 26; {发生共享错误}
            SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}
            SE_ERR_DDETIMEOUT = 28; {超时}
            SE_ERR_DDEFAIL = 29; {DDE 事务失败}
            SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务}
            SE_ERR_NOASSOC = 31; {没有相关联的应用程序}
    
    */

    //int iRet1 = (int)ShellExecute(m_hWnd, _T("open"), _T("C:\\Users\\Administrator\\AppData\\Roaming\\360se6\\Application\\360se.exe"), _T("https://www.baidu.com/"), NULL, SW_SHOW); //打开网址

    //int iRet1 = (int)ShellExecute(m_hWnd, _T("open"), _T("https://www.baidu.com/"), NULL, NULL, SW_SHOW); //打开网址
    /*
    第三个参数直接写网址,这样系统会根据第三个参数传进来的文件类型找到关联的文件进行打开操作!
    */

    int iRet = (int)ShellExecute(m_hWnd, _T("open"), _T("C:\\Users\\Administrator\\Desktop\\sss.txt"), NULL, NULL, SW_SHOW);//打开记事本文件
复制代码

 

 

 

 

 

posted @   天子骄龙  阅读(156)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-05-11 汇和家园
2020-05-11 CAD2019-基本界面及设置
2020-05-11 CAD2019学习目录
点击右上角即可分享
微信分享提示