• 程序中执行外部exe


    1.WinExec

    UINT WinExec( 
    LPCSTR lpCmdLine, // 命令路径 
    UINT uCmdShow // 显示方式 
    ); 

    使用方法如下: 
    WinExec("Notepad.exe", SW_SHOW); // 打开记事本 

    WinExec("D:\Program Files\Test\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe 

    这个函数只能打开exe文件。
    需要的头文件:windows.h,winbase.h(前者是试验出来,后者是msdn上说明),另外,这两者的先后顺序不能变。
     

    2.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:\Test.txt", NULL, NULL, SW_SHOWNORMAL); // 打开C:Test.txt 文件 
    ShellExecute(NULL, "open", "[url]http://www.google.com/[/url]", NULL, NULL, SW_SHOWNORMAL); // 打开网页[url]www.google.com[/url] 
    这个函数可以打开任意文件,会调用系统注册的程序来打开对应后缀名的文件。
     
    3.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 bRet = CreateProcess("D:\putty.exe",NULL,NULL,FALSE,NULL,NULL,NULL,NULL,&si,&pi);
    返回1,表示成功;
    返回0,表示失败;
     
  • 相关阅读:
    nyoj 139 我排第几个--康拓展开
    树形dp--hdu 3534 Tree
    hdu 2196 Computer 树形dp模板题
    poj 2342 Anniversary party 简单树形dp
    hdu 4738 Caocao's Bridges 图--桥的判断模板
    poj 1144 Network 图的割顶判断模板
    poj 3159 Candies 差分约束
    poj 3169 Layout 差分约束模板题
    codeforces C. Triangle
    java中过滤器、监听器、拦截器的区别
  • 原文地址:https://www.cnblogs.com/sylar-liang/p/4549733.html
Copyright © 2020-2023  润新知