VC++.运行EXE

int main()
{
    /************************************************************************/
    /*
    int system(_In_opt_z_ char const* _Command);
    等待目标程序退出才返回
    */
    /************************************************************************/
    system("C:/Using/winmine.exe");

    /************************************************************************/
    /*
    UINT WINAPI WinExec(
    _In_ LPCSTR lpCmdLine, //目标程序路径+命令行参数
    _In_ UINT   uCmdShow //打开方式,比如SW_SHOW
    );
    只能运行EXE文件
    */
    /************************************************************************/
    WinExec("C:/Using/winmine.exe", SW_SHOW);

    /************************************************************************/
    /*
    HINSTANCE ShellExecute(
    _In_opt_ HWND    hwnd, //父窗口句柄,无则NULL
    _In_opt_ LPCTSTR lpOperation, //要执行的操作,比如open
    _In_     LPCTSTR lpFile, //目标程序名称
    _In_opt_ LPCTSTR lpParameters, //命令行参数
    _In_opt_ LPCTSTR lpDirectory, //程序目录,如果此值为空则使用当前工作目录
    _In_     INT     nShowCmd //打开方式,比如SW_SHOW
    );
    通常lpFile设置为程序全路径,lpDirectory设置为NULL
    不仅可以运行EXE文件,也可以运行系统已经关联的文件
    */
    /************************************************************************/
    ShellExecuteA(0, "open", "C:/Using/winmine.exe", "", "", SW_SHOW); /*打开一个同系统程序相关联的文档*/
    //ShellExecuteA(0, "open", " http://www.baidu.com", "", "", SW_SHOW); /*打开一个网页*/
    //ShellExecuteA(0, "print", "c:/temp.txt", "", "", SW_HIDE); /*用系统打印机打印文档*/

    /************************************************************************/
    /*
    BOOL WINAPI CreateProcess(
    _In_opt_    LPCTSTR               lpApplicationName, //目标程序名称或路径
    _Inout_opt_ LPTSTR                lpCommandLine, //目标程序命令行参数
    _In_opt_    LPSECURITY_ATTRIBUTES lpProcessAttributes, //指向安全属性结构的指针,该结构确定子进程是否可以继承返回给新进程对象的句柄
    _In_opt_    LPSECURITY_ATTRIBUTES lpThreadAttributes, //指向安全属性结构的指针,该结构确定子进程是否可以继承返回给新线程对象的句柄
    _In_        BOOL                  bInheritHandles, //如果此参数为TRUE,则调用进程中的每个可继承句柄都由新进程继承
    _In_        DWORD                 dwCreationFlags, //控制优先级类和进程创建的标志
    _In_opt_    LPVOID                lpEnvironment, //指向新进程的环境块的指针。如果此参数为空,则新进程将使用调用进程的环境
    _In_opt_    LPCTSTR               lpCurrentDirectory, //目标程序目录
    _In_        LPSTARTUPINFO         lpStartupInfo, //返回信息结构指针
    _Out_       LPPROCESS_INFORMATION lpProcessInformation //返回信息结构指针
    );
    */
    /************************************************************************/
    STARTUPINFO si;
    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    PROCESS_INFORMATION pi;
    ZeroMemory(&pi, sizeof(pi));
    CreateProcess(_T("C:/Using/winmine.exe"), 0, 0, 0, 0, 0, 0, 0, &si, &pi);

    return 0;
}

原文链接: https://www.cnblogs.com/dailycode/p/12460185.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    VC++.运行EXE

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/334716

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午9:47
下一篇 2023年3月1日 下午9:48

相关推荐