WinExec 和 ShellExecute 之间有哪些区别?

2024-03-08

我需要执行另一个应用程序,我想知道我是否应该使用WinExec代替ShellExecute或相反亦然。

两种方法有哪些区别?有应该优先选择的吗?


WinExec长期以来已被弃用,仅出于向后兼容性的原因而保留。它用于启动可执行文件。不要使用它,因为它已被弃用。如文档中所述:

提供此功能只是为了兼容 16 位 Windows。应用程序应使用 CreateProcess 函数。

ShellExecute并未弃用,但也不应使用,因为它无法正确报告错误。

Use ShellExecuteEx执行 shell 动词。

如果您想创建一个进程,并且知道可执行文件名,请使用CreateProcess。除非你需要执行提升,在这种情况下你需要ShellExecuteExrunas verb.

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

WinExec 和 ShellExecute 之间有哪些区别? 的相关文章

  • Python ctypes:SetWindowsHookEx 回调函数从未被调用

    我正在尝试用 Python 编写一个程序 该程序可以识别何时显示警报框 对话框 它正在处理多个监视器 我希望它在任务栏图标闪烁 弹出错误 通知等时在辅助监视器上显示可视化效果 据我所知 检测这些事件的方法是使用消息挂钩 如下所述 http
  • Windows EventLog:它的操作速度有多快?

    我有一个服务应用程序 它通过 TCP 处理客户端请求并将任何事件写入 Windows EventLog 由于该应用程序预计会在短时间内为许多客户端和每个客户端的大量请求提供服务 假设每秒 1 到 50 个请求 因此我很想知道密集程度 CPU
  • 当加载图标且 tk.mainloop 位于线程中时,Tkinter 会锁定 Python

    这是测试用例 import Tkinter as tk import thread from time import sleep if name main t tk Tk thread start new thread t mainloop
  • 如何防止用户杀死C#应用程序[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果您使用 ESET Smart S
  • 如何使用VerQueryValue?

    我有一个 exe 需要从特定 dll 检索版本信息 例如 FileDescription 我的代码已经调用了 GetFileVersionInfoSize 和 GetFileVersionInfo 但我不知道如何应用 VerQueryVal
  • HWND 创建时间

    我是这个社区的新手 在使用我的自动化脚本 1 时遇到一个问题 我想获取 HWND 的创建时间 我在从 FindWindowEx 检索到的数组中有一组 HWND 我想在数组中找到最后根据系统时间创建的 HWND 我对窗口钩子没有足够的了解 但
  • 检测 Windows 重新启动是否是由于 Windows 更新造成的

    我的电脑上的一些应用程序一直在检测 Windows 更新是否重新启动 这是可以观察到的 因为它们会在 Windows 更新自动重启后重新启动 这非常有帮助 因为这些应用程序会重新加载更改 甚至unsaved更改或恢复选项卡 如果是浏览器 执
  • 如何获取当前所选键盘布局的显示名称

    我需要以语言栏显示输入语言的方式向用户显示输入语言列表 例如 目前我有 class Program static void Main string args var langs InputLanguage InstalledInputLan
  • 向 Windows 服务发送 Windows 消息

    有没有任何工具可以将 WM ENDSESSION 等 Windows 消息发送 模仿 到 Windows 服务 OR 如何使用 C 向进程发送 Windows 消息 我只懂C 编辑 目的 基本上我必须调试 Windows 服务来修复仅在系统
  • 在 C++ 程序中多次使用 FindWindows?

    我使用以下代码 C 来获取窗口 另一个应用程序 的句柄并向其中一个按钮发送消息以模拟单击 并且它可以正常工作 BOOL CALLBACK EnumChildProc HWND hwnd LPARAM lParam mdv test list
  • WritePrivateProfileString 未在末尾添加属性

    我正在使用以下命令在 ini 文件中写入一些属性WritePrivateProfileString函数并且一切正常 但是当我添加多行文本时 出现了问题 这是代码和输出 WritePrivateProfileString T General
  • 屏幕截图忽略了一些窗口

    我正在 MFC 中工作 我正在尝试捕获桌面的 bmp 我正在使用 GetDC NULL 来执行此操作 但它似乎忽略了特殊的皮肤窗口 它似乎忽略了用 UpdateLayeredWindow 绘制的窗口 此行为似乎仅发生在 Vista x64
  • 使用 StretchDIBits 使用 Delphi 6 处理条形码图像 - 输出中缺少条形线

    我的应用程序是在 Delphi 6 中开发的 由于后台处理和大量数据 它消耗大约 60MB 120MB 物理内存 这是一个资源密集型应用程序 该应用程序的功能之一是在进行某些处理后创建条形码图像 如果用户继续生成条形码 那么至少十分之一的条
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • Win32 API:如何读取序列号,或者如果不是数据则在超时内退出

    我需要一个函数来从串行端口读取数据 或者如果在时间间隔内没有数据则返回 例如 在 GNU Linux 上你可以使用poll orselect read Windows 中有类似的东西吗 下面是我尝试过的 它应该可以工作 但是功能获取重叠结果
  • 我可以在 C# 进程中使用 SetErrorMode 吗?

    我正在准备写一个在线法官核心 一个可以编译用户代码并运行程序来检查答案的程序 如uva online Judge 我在捕获提交程序的异常时遇到问题 如下所示 int main while scanf d d n m printf d n n
  • 尝试使用 LoadImage 加载应用程序的图标,但该函数返回 0

    我正在尝试使用加载应用程序的图标LoadImageWinAPI函数 但由于某种原因它总是返回0 我已阅读文档 https msdn microsoft com en us library windows desktop ms648045 v
  • 获取保证具有完整(4 位)年份的 LOCALE_SSHORTDATE 的正确方法是什么?

    我想创建一个日期时间选择器控件 它显示日期和时间 作为DTS SHORTDATECENTURYFORMAT and DTS TIMEFORMAT风格 由于日期时间选择器中没有内置这种样式 因此我必须自己做GetLocaleInfoEx 我注
  • 如何为 C++ Visual Studio 2019 指定应用程序图标?

    我见过本文档 https learn microsoft com en us visualstudio ide how to specify an application icon visual basic csharp view vs 2
  • 如何使用 C++ 禁用另一个进程中窗口上的关闭按钮?

    我需要从另一个进程禁用窗口上的关闭按钮 我有它的句柄hWnd我尝试这样做 DWORD dwCStyle GetClassLongPtr hWnd GCL STYLE SetClassLongPtr hWnd GCL STYLE dwCSty

随机推荐

  • 是否应该将依赖项注入比需要的更多“级别”?

    我正在使用 SOLID 原则编写 C ASP NET MVC Web 应用程序 我写了一个ViewModelService 这取决于AccountService and a RepositoryService 所以我将这两个服务注入到Vie
  • numpy 数组的缓存装饰器

    我正在尝试为具有 numpy 数组输入参数的函数制作一个缓存装饰器 from functools import lru cache import numpy as np from time import sleep a np array 1
  • 如何将自定义包添加到 Dymola/Modelica 的启动路径中?

    我有一个自定义包 我发现自己在 Dymola 模型中重复使用该包 并且我想将此包放在一个公共目录中 每当我启动 Dymola 时都会自动加载该目录 我当前的策略是在加载我正在处理的模型时加载自定义包 然后保存总计 这并不优雅 因为自定义包的
  • 如何将轴移动到图表中心?

    我需要在原点位于屏幕中心 或中心附近的某个位置 但不一定在中心 的坐标系上绘制一个函数 并且我需要绘制轴 以便它们在原点交叉 轴也应该有标签和抽动以及箭头 我不知道如何有效地做到这一点 到目前为止 在我的代码中 我手动设置了抽动的偏移量 并
  • phpMyAdmin 抛出 #2002 无法登录 mysql 服务器 phpmyadmin

    我已经在本地计算机上安装了MySQL服务器企业版5 1 现在我想安装phpMyAdmin 但它不起作用 我已将 phpMyAdmin 解压到我的服务器根目录并浏览到 localhost phpMyAdmin setup index php
  • 如何使用 wkhtmltopdf 在页眉/页脚 html 中进行页码编号?

    我正在开发一个电子发票系统 我们的功能之一是生成发票的 PDF 并邮寄它们 我们有多个发票模板 稍后还会创建更多模板 因此我们决定使用 HTML 模板 生成 HTML 文档 然后将其转换为 PDF 但我们面临着 wkhtmltopdf 的一
  • ios 标签栏自定义图像

    我在工作ios我需要定制的应用程序tabbar像是this http postimage org image jxm57t89j 首先我创建了5个viewcontrollers导航控制器中的每一个 然后把它们放进去tabbbarcontro
  • Symfony onFlush Doctrine 监听器

    嗨 我有一个 onFlush 监听器
  • 在新窗口中打开图像

    如何使用其在新窗口中打开图像id function swipe var largeImage document getElementById largeImage largeImage style display block largeIm
  • 更改Android自定义SurfaceView的大小

    我正在尝试为 Android 应用程序创建 2D 游戏引擎 我已经关注了本教程 http www droidnova com 2d tutorial series part ii 772 html 这对于创建全屏显示效果很好 但我不想要这样
  • servicestack ormlite 中的分页

    我正在寻找一种在 ormlite 中实现分页的好方法 我发现了另一种question https stackoverflow com questions 15705419 passing params expression results
  • 从 Intent.createChooser 获取选择的应用程序

    我正在尝试捕捉结果Intent createChooser了解用户选择共享哪个应用程序 我知道有很多与此相关的帖子 如何知道用户在使用意图选择器时选择了哪个应用程序 https stackoverflow com questions 106
  • Filemaker GetAs...如何在网页上显示容器字段?

    我有一个 ASP Net 应用程序 需要显示存储在 Filemaker 容器字段中的图像 我的查询语句如下所示 SELECT GetAs Image JPG FROM UA Item Pictures WHERE Stock Number
  • PyGame Space Invaders 游戏 - 让外星人一起移动

    我已经使用 PyGame 模块在 Python 中创建了一个 Space Invaders 克隆 但是当它们到达游戏屏幕边缘时 让它们一起向下移动时遇到了一些困难 当外星人到达游戏屏幕边缘时 我该如何做到这一点 他们都同时改变方向并下降一个
  • 多对一,全部删除孤儿,将属性设置为 null 但实体未删除

    使用 NHibernate v3 0 我有一个与此类似的课程 class Foo bool barActive Bar bar Bar 实例完全由 Foo 内部管理 当 barActive 为 true 时 bar 被设置为 Bar 实例
  • makePrimss 的用例和示例

    我不清楚 makeLense 和 makePrisms 之间的区别 我知道当我们想要访问嵌套结构 数据时 请像这样使用 makeLense data Point Point x Int y Int data Test Test name S
  • 螺纹扭曲...如何正确使用它们?

    我需要编写一个运行两个线程的简单应用程序 线程 1 按定时运行 假设每 1 分钟运行一次 线程 2 只是一个执行 操作 的 正常 while True 循环 如果不是按定时间隔运行的要求 我根本不会考虑扭曲 但简单的 sleep 60 还不
  • ImageIO 对原始图像的支持 (jrawio)

    我一直在寻找原始图像支持 并找到了这个库 jrawio 1 6 1 它扩展了 imageio 以添加原始支持 它似乎有效 但速度非常慢 我见过跑得更快的蜗牛 我的代码在几秒钟内处理 Jpeg 而处理一个不太大的 cr2 文件或 nef 则需
  • 如何使用 UIButtonBarItem 触发方法?

    我有一个带有工具栏的 xib 上面有 2 个按钮 全部用 IB 制作 我可以将插座连接到按钮 但是当我单击它们时 该方法不会被触发 这是为什么 在我的头文件中我有这个 property nonatomic retain IBOutlet U
  • WinExec 和 ShellExecute 之间有哪些区别?

    我需要执行另一个应用程序 我想知道我是否应该使用WinExec代替ShellExecute或相反亦然 两种方法有哪些区别 有应该优先选择的吗 WinExec长期以来已被弃用 仅出于向后兼容性的原因而保留 它用于启动可执行文件 不要使用它 因