设为首页 加入收藏

TOP

VC 调用外部程序接口
2014-11-23 19:30:44 】 浏览:1893
Tags:调用 外部 程序 接口

(1) system()
  函数名: system
  功 能: 发出一个DOS命令
  用 法: int system(char *command);
  备 注: system函数已经被收录在标准c库中,可以直接调用
  返回值
    =-1:出现错误
    =0:调用成功但是没有出现子进程
    >0:成功退出的子进程的id
  样例: system("D:\\game.exe");

(2) WinExec()
  函数原型:
    UINT WINAPI WinExec(
       __in LPCSTR lpCmdLine,
       __in UINT uCmdShow);
  参数说明:
    lpCmdLine,  // 命令路径
    uCmdShow,  // 显示方式,共有11种,具体可以查阅MSDN的ShowWindow函数
  返回值:
    成功,返回值大于31
    返回0表示内存或者资源溢出
    返回ERROR_BAD_FORMAT表示exe文件非法或者已损坏。
    返回ERROR_FILE_NOT_FOUND指定的文件没有找到。
    返回ERROR_PATH_NOT_FOUND找不到指定路径
  样例:
    WinExec("Notepad.exe", SW_SHOW); // 打开记事本
    WinExec("D:\\Program Files\\Test\\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打开Test.exe(注意文件名的大小写也必须完全一样)

(3) 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 文件        

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

评论:
  system(),主要用在DOS环境下.
  WinExec(),简单实用,方便打开执行进程,但不能操作控制进程。
  ShellExecute(),增强了操作能力,但对进程的控制还是不够用。
  CreateProcess(),目前最强劲的进程函数,通过设置StartupInfo结构体参数,来设置子进程的属性, 子进程创建后的信息也保存在ProcessInformation结构体中,便于操作,功能强大,但参数过多.

参考推荐:
VC 调用外部程序接口
VC调用系统运行程序
VC中调用外部程序方式总结
作者:sunboy_2050

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇vc++创建文件夹及其子文件夹 下一篇VC++创建指定路径的一系列文件夹

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目