从一个程序中启动和关闭另一个程序

2023-10-30

今天正在编写的程序是一个插件(PlugIn)。插件其实就是一个动态链接库,可以被主程序装入内存中,并调用插件中按照主程序规定编写的函数。由于插件受制于主程序,因此我必须另外提供一个程序可以扩展插件的功能。于是乎,我就编写了一个更加复杂的程序来完成更多的功能,但是为了使这个程序可以看起来是和使用插件的程序象是集成在一起的,就必须在启动插件程序的过程中,也同时启动我后来编写的程序,并且还要在插件主程序关闭之前,将我编写的程序也关闭。为了实现这一目的,ShellExecuteEx()以及FindWindow()就被使用了。
ShellExecute()和ShellExecuteEx()被设计可以通过系统来启动一个程序。为了可以正确执行程序,那么就要为ShellExecute()和ShellExecuteEx()指定正确的目录和程序名。

下面是一个使用ShellExecuteEx的例子:

SHELLEXECUTEINFO  ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask     = NULL;
ShExecInfo.hwnd      = NULL;
ShExecInfo.lpVerb    = NULL;
ShExecInfo.lpFile      = _T(“C://MyProgram.exe“);        // 执行的程序名
ShExecInfo.lpParameters = NULL;
ShExecInfo.lpDirectory     = NULL;
ShExecInfo.nShow           = SW_MAXIMIZE;                // 全屏显示这个程序
ShExecInfo.hInstApp = NULL;

Shel

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从一个程序中启动和关闭另一个程序 的相关文章

  • Windows 10 Mobile (10.0.14393) 地理围栏后台任务 (LocationTrigger)

    自从10 0 14393 周年纪念更新 LocationTrigger似乎不起作用 我有 Windows Phone 8 1 应用程序 也适用于 UWP 应用程序 输出到的便携式库Windows Runtime Component图书馆 w
  • 为什么存在 async 关键字

    浏览 msdn 9 频道视频时 我发现以下未答复的评论 希望有人能解释一下 我不明白 async 关键字的意义 为什么不直接允许 任何时候方法返回任务时都会使用await关键字 就像迭代器一样 可以在任何返回 IEnumerable 的方法
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • 为什么Apache MPM prefork.c 使用互斥体来保护accept()?

    我坐下来读书Apache 的 MPM prefork c http code metager de source xref apache httpd server mpm prefork prefork c这段代码使用了一个名为accept
  • 为什么大多数平台上没有“aligned_realloc”?

    MSVC有自己的非标准函数 aligned malloc aligned realloc and aligned free C 17和C11引入了 std aligned alloc 其结果可以是de分配有free or realloc B
  • C# 正则表达式用于查找 中具有特定结尾的链接

    我需要一个正则表达式模式来查找字符串 带有 HTML 代码 中的链接 以获取文件结尾如 gif 或 png 的链接 示例字符串 a href site com folder picture png target blank picture
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 获取尚未实例化的类的函数句柄

    我对 C 相当陌生 我想做的事情可能看起来很复杂 首先 我想获取一些函数的句柄以便稍后执行它们 我知道我可以通过以下方式实现这一目标 List
  • 如何生成 appsettings..json 文件?

    我有一个 ASP NET Core 2 WebAPI 它将部署在以下环境中 INT QA STAGE 生产环境 基于上述 我需要有appsettings
  • 如何将带有自定义分配器的 std::vector 传递给需要带有 std::allocator 的函数?

    我正在使用外部库 pcl 因此我需要一个不会更改现有函数原型的解决方案 我正在使用的一个函数生成一个std vector
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • 两种类型的回发事件

    1 我发现了两篇文章 每篇文章对两种类型的回发事件的分类都略有不同 一位资源说两种类型的回发事件是Changed事件 其中控件实现 IPostbackDataHandler 当数据在回发之间更改时触发 然后Raised事件 其中控件实现 I
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • WPF。如何从另一个窗口隐藏/显示主窗口

    我有两个窗口 MainWindow 和 Login 显示登录的按钮位于主窗口 this Hide Login li new Login li Show 登录窗口上有一个检查密码的按钮 如果密码正确 我如何显示主窗口 将参数传递给 MainW
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne

随机推荐

  • 华为OD机试 - 服务失效判断(Java)

    题目描述 某系统中有众多服务 每个服务用字符串 只包含字母和数字 长度 lt 10 唯一标识 服务间可能有依赖关系 如A依赖B 则当B故障时导致A也故障 依赖具有传递性 如A依赖B B依赖C 当C故障时导致B故障 也导致A故障 给出所有依赖
  • dynamic 365 前端操作

    dynamic 365 常用js操作和方法 dynamic 365 常用js dynamic 365 常用js 获取当前用户id Xrm Page context getUserId 获取当前用户的用户名 Xrm Page context
  • Conference and Journal Level in 2016

    中国计算机学会推荐国际学术会议和期刊目录 2015 年 中国计算机学会 中国计算机学会推荐国际学术期刊 计算机体系结构 并行与分布计算 存储系统 一 A 类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Transactio
  • 【dubbo学习系列】dubbo消费端的代理生成详解(@DubboReference和@Reference)

    文章目录 spring中dubbo实现RPC 如何加载 Reference和 DubboReference注解 DubboComponentScanRegistrar 概括 发现 Refrence和 DubboReference注解 并编织
  • anaconda虚拟环境管理,从此Python版本不用愁

    1 引言 在前几篇博文中介绍过 virtualenv virtualenvwrapper等几个虚拟环境管理工具 本篇要介绍的anaconda也有很强大的虚拟环境管理功能 甚至相比virtualenv virtualenvwrapper等工具
  • 开源项目的正确打开方式

    如何分析开源项目 1 学习的方式 不知道这个代码是怎么来的 这个代码跑不起来 这个项目对我们有什么帮助 不会模块化分析 2 观察 下载开源项目 下载 解压 码云比github快 解压 先不要着急运行 观察 用了哪些技术 是否有数据库 比如M
  • SSH 三步解决免密登录

    SSH 三步解决免密登录 1 客户端生成公私钥 2 上传公钥到服务器 3 测试免密登录 1 客户端生成公私钥 本地客户端生成公私钥 一路回车默认即可 ssh keygen 上面这个命令会在用户目录 ssh文件夹下创建公私钥 cd ssh l
  • Vulkan基础

    目录 一 Vulkan开发理论基础知识 接口设计理念 Host Device 基础设施 元数据和设备 基础设施 交换链 编辑交换链 SwapChain 编辑 渲染管线 Pipeline RenderPass CommandBuffer 二
  • 13天带你了解C++ ---DAY5 c++类中的6个默认成员函数

    快起床学习啦 你怎么睡的着哒 目录 1 6个默成员函数介绍 2 构造函数 2 1概念 2 2构造函数举例 2 3易错点 2 4举一反三 类中包含其它类对象 2 5扩展 c 11新特性 在成员变量中赋值 2 6补充 全缺省构造函数 3 析构函
  • 我的创作纪念日(个人感悟)

    昨天2023年5月10日是我成为创作者的第128天纪念日 感谢CSDN官方的纪念信让我铭记这特殊的一天 机缘 要说与CSDN的初次相遇 还是2022年的高考结束完的暑假 当时对于大学的学习没有什么概念 当初的高考志愿报的有计算机相关的专业
  • NameError: name 'islice' is not defined

    加个导包即可 from itertools import islice 这样就运行没有问题了
  • 《计算机网络》——第七章知识点

    防火墙 特殊编程的路由器 实施访问控制策略 分为网络级防火墙 防止网络出现非法入侵 和应用级防火墙 进行应用的访问控制 本次文章详细PDF请点击以下链接查看 https download csdn net download qq 53142
  • Linux中建立TCP网络通信,代码运行异常,[Errno 111] Connection refused

    代码如下 报错信息 原因 直接理解报错的意思就是 链接失败 Linux端作为客户端 Windows端作为服务端 排查服务端的本地地址 发现有误 所以引起链接失败
  • 电脑相机错误0x00f4288_如何解决电脑摄像头打不开问题

    很多人打开QQ视频时发现摄像头打开是全黑的 打开相机拍照也是全黑的 回跳出错误 还会出现代码0xA00F4292
  • Edge浏览器出现无法访问此页面,XXX已拒接链接,请尝试检查代理和防火墙

    针对这种情况有两种办法解决 方案一 针对部分人有效 方案二 针对所有人有效 且从根本上解决问题 如果方案二不成功 把方案一也配置一下 情况如下图所示 www bilibili com 已拒绝连接 请尝试 检查连接 检查代理和防火墙 ERR
  • 数字电路设计之低功耗设计方法五:门控

    Clock gating 在时钟频率加快的同时 有时候会产生不必要的跳转 有的时候输入并没有改变 但是由于时钟的跳转 寄存器的值会被一遍一遍的刷新 可能输入才更改一次 结果时钟已经跳了几万次 这样的差距是可怕的 每次时钟上升沿 输出就要重新
  • 如何实现物料的柔性“强预留”和“弱预留”占用

    一 占料场景 车间实际领料过程中 需要预先对物料进行占用 预先将特定的物料分配至特殊的工单 优先级较高 需要预先占用物料 物料占用存在多种混合的形态 1 承诺优先 已经承诺的需求 优先占用物料 未承诺的需求后占用物料 且后承诺的需求占用物料
  • HC05-ESP8266实现控制LED的闪烁

    蓝牙设备是不可或缺的一部分 在这里我们将用HC05 ESP8266实现控制LED的闪烁 在本篇文章中 将HC 05蓝牙模块与流行的Wi Fi模块ESP8266连接 并通过蓝牙发送命令无线控制LED 该LED可以由继电器和AC设备代替 以构建
  • sort函数源码分析(超详细)

    直接呈现源码 if IS CALLABLE comparefn comparefn function x y if x y return 0 如果x与y取值相同返回0 x与y位置不变 if IsSmi x IsSmi y return Sm
  • 从一个程序中启动和关闭另一个程序

    今天正在编写的程序是一个插件 PlugIn 插件其实就是一个动态链接库 可以被主程序装入内存中 并调用插件中按照主程序规定编写的函数 由于插件受制于主程序 因此我必须另外提供一个程序可以扩展插件的功能 于是乎 我就编写了一个更加复杂的程序来