VC 调用外部程序接口

2024-02-15 04:08
文章标签 调用 外部 vc 程序接口

本文主要是介绍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文件


这篇关于VC 调用外部程序接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/710401

相关文章

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Java中将异步调用转为同步的五种实现方法

《Java中将异步调用转为同步的五种实现方法》本文介绍了将异步调用转为同步阻塞模式的五种方法:wait/notify、ReentrantLock+Condition、Future、CountDownL... 目录异步与同步的核心区别方法一:使用wait/notify + synchronized代码示例关键

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll