`
king_tt
  • 浏览: 2083150 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

VC 调用外部程序接口

 
阅读更多

(1) system()

  函数名: system
  功 能: 发出一个DOS命令

  用 法: int system(char *command);

  备 注: system函数已经被收录在标准c库中,可以直接调用

  返回值
    =-1:出现错误
    =0:调用成功但是没有出现子进程
    >0:成功退出的子进程的id

  样例:

      system("D:\\game.exe");     
            system("mmc.exe \"c:\\windows\\system32\\gpedit.msc\"");

(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中调用外部程序方式总结

VC打开系统msc、cpl文件


分享到:
评论

相关推荐

    PB9调用C++的dll实例

    管理系统常用pb开发,少不了外部接口,PB9外部接口调用C++的dll,测试程序。

    algor23中文版.part13.rar

    的基于VB 和VC 的二次开发接口,它提供了大量的应用程序接口(API),外部程序可以直 接调用ALGOR 可执行程序,在ALGOR 中也可以调用用户开发的外部子程序,对模型、求 解、结果进行控制,而且提供了VB Script 开发...

    电子万能试验机实时数据接口_VB调用示例代码

    可以实现试验机程序跟外部监控程序之间的实时数据通信。该接口使用数组传递数据,可以根据需要重新定义数组中的项目信息,即可作为其它的测试系统对外提供数据的接口。 文档中含VC及VB接口函数说明(部分函数未列出...

    基于MATLAB与VC混合编程的飞机刹车系统仿真

    AB/Simulink的仿真工程处理要求,结合两种软件工具的特性,采取以代码交互和MATLAB函数模块调用为主,配合外部应用程序接口函数所构建的一种用户接口编程模式;文中以某型军机为背景,依据飞机刹车系统在降落过程中...

    网络驱动程序设计指南

    3.1 传输驱动程序接口(TDI) 243 3.2 TDI设备对象 245 3.3 TDI文件对象 246 3.3.1代表传输地址的文件对象 247 3.3.2代表连接端点的文件对象 247 3.3.3代表控制信道的文件对象 248 3.4 TDI传输驱动程序例程 248 3.5 ...

    C语言程序设计标准教程

     函数调用的一般形式前面已经说过,在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。C语言中, 函数调用的一般形式为:  函数名(实际参数表) 对无参函数调用时则无实际参数表。 ...

    VC++空间后方交会的3种形式实例源码

     以上三个函数类型声明为public以满足从外部环境声明类对象调用的需要。另包含3个私有成员函数Iterator (), CheckPrecision(), InitData() 进行内部计算,编码与运行时对用户不可见。    2、将该功能封装成动态...

    win2000驱动程序设计指南

    NDIS NIC微端口驱动程序 20 1.1 NIC微端口驱动程序类型 20 1.2 网络接口卡支持 20 1.3 微端口驱动程序代码的重要特征 22 1.3.1 MiniportXxx函数 22 1.3.2 与NDIS库链接 22 1.3.3 微端口适配器环境...

    易语言程序免安装版下载

    修改外部数据库在“表中记录数为零”时可能导致程序崩溃的BUG。 10. 修改扩展界面支持库一,修改“超级列表框.取标题()”不能返回长度大于256的包含汉字的文本。 11. 修改扩展界面支持库一,为“超级列表框.查找...

    C程序设计语言(第2版·新版中文)

    全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。 目录   出版者的话 专家指导委员...

    Java开发技术大全(500个源代码).

    invokeOther.java 类的外部调用方法示例 invokeStaticMethod.java 调用静态方法示例 localVariable.java 演示局部变量 localVSmember.java 局部变量与成员变量同名问题示例 onlyTest.java 对象传值示例 other...

    自己写的dll的简介

    当然外部仍然可以使用其内联成员函数(前提是该成员函数不应该调用任何未经导出的函数或者类成员函数) 发布DLL 1. 程序库的作者应该将三件套:头文件,引入库文件和DLL一同发布给用户,其中头文件和引入库是专为...

    C++轻量级通用插件框架源码

    允许不同版本的VC++开发的插件相互调用对方的接口,虽然实际中一般不需要这样做。由于没有采用VC++特殊的编译指令,因此容易移植到其他开发平台下。 编译运行环境 本插件机制采用C++实现,用到了C++的RTTI机制和...

    最新软件狗时间复制工具

    加密锁的驱动光盘中提供VC\VB\VFP\Delph\PB\CB等各种言的编程接口及详细的示例供客户参考。如果您有什么特殊要求可与我们联系。 外壳式 外壳加密是一种直接对可执行文件(.exe\.com\.dll)加密的加密方法。这种...

    PT80-NEAT开发指南v1.1

    使用 NEAT 工程向导建立应用程序 ........................................................................................................ 5 编译及运行程序(模拟器下) ......................................

    HGE_系列教材(1-9)

    Release --- 释放HGE 接口,调用了hgeCreate 就应该调用Release 释放。 2. 系统函数(System functions): 这类函数都是以System_ 开头,后面加上表示函数意义的单词(不出现下划线), 之后介绍的函数也将使用这种...

    myagent22

    } <br> (四) 与外部程序的接口 应用程序和AgentShell之间传递数据主要通过WM_COPYDATA消息实现,由于传递的数据类型各 有不同,所以需要定义一个数据结构来描述: struct AgentActionSTRUCT ...

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    JAVA上百实例源码以及开源项目

    演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程...

    JAVA上百实例源码以及开源项目源代码

    演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程...

Global site tag (gtag.js) - Google Analytics