如何从Delphi运行命令行?

2023-12-01

如何从我的 Delphi 应用程序运行此命令?

C:\myapppath\appfolder>appname.exe /stext save.txt

我尝试了以下代码:

ShellExecute(0, nil, 'cmd.exe', 'cd C:\myapppath\appfolder', nil, SW_Hide);
ShellExecute(0, nil, 'cmd.exe', 'appname.exe /stext save.txt', nil, SW_Hide);

但这没有用。谁能提供解决方案吗?


要运行 CMD 命令,您需要使用/C的旗帜cmd.exe:

ShellExecute(0, nil, 'cmd.exe', '/C cd C:\myapppath\appfolder', nil, SW_HIDE);
ShellExecute(0, nil, 'cmd.exe', '/C appname.exe /stext save.txt', nil, SW_HIDE);

但是,这将创建两个不同的会话,因此它不起作用。但你可以使用 ShellExecute 来运行appname.exe直接,就像这样:

ShellExecute(0, nil, 'appname.exe',  '/stext save.txt', nil, SW_HIDE);

但您需要正确指定文件名。

我会做

var
  path: string;

begin
  path := ExtractFilePath(Application.ExeName);
  ShellExecute(0, nil, PChar(Application.ExeName), PChar('/stext "' + path + 'save.txt"'), nil, SW_HIDE);
end;

in case appname.exe是当前的应用程序。否则,更换Application.ExeName的完整路径appname.exe.

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

如何从Delphi运行命令行? 的相关文章

  • Delphi IDE导致CPU过热

    我正在使用 Delphi 7 但我已经尝试过 Delphi 2005 2010 版本 在所有这些新版本中 当 Delphi IDE 在屏幕上可见时 我的 CPU 利用率为 50 一个核心为 100 另一个核心为 宽松 当 IDE 最小化时
  • 如何在运行时(Delphi/Windows)程序中添加代码?

    我正在Windows XP Delphi 7上工作 我需要在正在运行的程序中添加一些过程 或函数 并且我不想在完成后再次重新编译它 我只有一个具有 5 个功能的主机应用程序来发送不同类型的警报 但是还有其他新的警报类型 所以我必须执行新的功
  • 在 Delphi 中编程延迟的最佳方法是什么?

    我正在开发的 Delphi 应用程序必须延迟一秒 有时甚至两秒 我想使用最佳实践来对此延迟进行编程 在阅读 stackoverflow 上有关 Delphi Sleep 方法的条目时 我发现了以下两条评论 我遵循这样的格言 如果你觉得需要使
  • EOutOfMemory 使用 Delphi 创建大型 XML

    我正在使用 Delphi 从关系数据库中的数据创建 XML 文档 它在小数据集上测试得很好 但是当我尝试将数据集的大小扩展到生产级别时 它最终在节点创建期间因 EOutOfMemory 异常而崩溃 我正在使用放在表单上的 TXMLDocum
  • 命名管道性能问题

    我使用命名管道进行 C 和 Delphi 之间的过程间通信 C 使用System IO Pipes包 而 Delphi 使用Libby s pipes pas 不幸的是 通信几乎是高性能的 分析显示通信占用了整个运行时间的 72 其余的用于
  • 从创建 UI 的同一线程更新 VCL。为什么?

    我知道我必须调用 Synchronize 来从未创建控件或向窗口发送消息的线程更新 vcl 我经常听到 线程不安全 这个词 但我找不到关于正在发生的事情的实际解释 我知道应用程序可能会因访问冲突而崩溃 但我又不知道为什么 请阐明这个主题 V
  • 任意通用列表的通配符

    我有一个类 MyClass 它不是通用的 包含任意 TList 并对其执行某些操作 我希望用通用 TList 替换 TList 但 MyClass 必须保持非通用 由于 Delphi 是不变的 这样的事情是行不通的 list1 TList
  • 可以在滚动条上绘画吗?

    是否可以在 TMemo TListbox 等标准控件的滚动条上进行绘制 我所需要的只是在滚动条上绘制一些基本形状 并且我试图避免从 stratch 实现整个滚动内容 有什么指点吗 蒂亚 确实有可能 你可能想看一下WM NCPAINT消息 这
  • 将delphi stringgrid导出到excel

    我正在尝试将数据从delphi 7 中的stringgrid 导出到microsoft excel 我一直在使用这段代码来做到这一点 objExcel TExcelApplication Create nil objExcel Visibl
  • Delphi定时器比毫秒更精确

    我在 Delphi 中有一个程序 它以 25 赫兹 每秒 25 次 的速度从外部应用程序获取帧 然后通过创建 1 2 个额外帧将其转换为 60 赫兹 每秒 60 帧 我需要通过连续构建帧缓冲区并从单独的线程输出帧来输出这些额外的帧 问题是
  • Indy 10 和 sslvTLSv1_2

    我发布的网站目前支持 TLS v1 1 和 TLS 1 2 他们很快将只允许 TLS 1 2 版连接 为此我将 Delphi 5 升级到了 Indy 10 目前 我在代码中创建组件 并且一次运行 3 个线程一切都运行良好 HTTp TIdH
  • Delphi TTask - PPL 中匿名函数中的变量捕获如何工作?

    我开始深入研究 Delphi D11 PPL 并编写了这个小例子 procedure TForm2 LaunchTasks const cmax 5 Var ltask ITask i j Integer begin for i 1 to
  • 我如何淡入/淡出 TImage?

    我有一个简单的TForm命名为Form1 Image1 是一个TImage加载了一个 PNGImage 和一个 Button1TButton测试事物 成功实现了对图像1的Alpha Blend的方法 代码如下 procedure SetPN
  • 如何在TWebBrowser中显示相对路径图像?

    我正在 DesignMode Doc DesignMode On 中使用 TWebBrowser 来编写 HTML 文档 TWebBrowser 中没有加载文档 磁盘上的 HTML 文件 我直接在 TWebBrowser 中从零开始创建文档
  • 在Delphi/Lazarus中设置提示窗口(THintWindow)的大小

    我正在尝试在 Lazarus 中进行自定义提示 到目前为止 我已经动态加载了提示中的文本 并自定义了字体 字体大小和字体颜色 我想限制提示窗口的宽度 有任何想法吗 这是我的代码 type TExHint class THintWindow
  • 良好的 Delphi Prism 在线资源

    在 Google 上搜索 delphi prism delphi prism 资源 或 delphi prism 代码片段 几乎找不到好的网站 是否有任何好的编程网站提供大量有关 Delphi Prism 的代码片段和教程 提前致谢 oma
  • 如何判断CoInitialize被调用了多少层?

    我正在对一个混乱的项目进行一些调试 之前的开发人员不知道他们在做什么 主要问题是尝试多线程应用程序失败 我现在正在清理混乱并试图找出问题出在哪里 问题之一是调用不一致CoInitialize为了使用ADO组件 继续我的上一个问题 https
  • 如何使用 Delphi XE 发送 WCF 的 ClientCredentials

    我开发了一个带有自定义的 WCF 服务UserNamePasswordValidator with a basicHttpBinding使用 HTTPS 它与 Net 客户端配合得很好 使用 ClientCredentials 发送用户名和
  • 保留部分桌面

    如何使用 Delphi 保留桌面的一侧 像 Vista 侧边栏那样的东西 你想要的叫做应用程序桌面工具栏 http msdn microsoft com en us library bb776821 28VS 85 29 aspx 您必须使
  • 防止“组合有符号和无符号类型扩大了两个操作数”编译器警告

    此代码用于设置组件 会产生编译器警告 DCC Warning Unit1 pas 742 W1024 Combining signed and unsigned types widened both operands var iPrecis

随机推荐

  • 我可以阻止特定数据成员被反序列化吗?

    我有这样的数据合同 DataContract class MyDC DataMember public string DM1 DataMember public string DM2 DataMember public string DM3
  • QTP 中的 RO 属性和 TO 属性有什么区别?

    在QTP中每个测试对象都支持以下方法 GetRoProperty GetToProperty SetToProperty GetToProperties 和有什么区别RO 财产和TO property 为什么我只能设置一个TO 财产而不是R
  • 如果 id 匹配,则从 mysql 选择行

    我想从 mysql 中选择与特定 id 匹配的行 我想获取ID是否匹配的结果 如果数据库中不存在该ID 则不应该执行任何操作 我这样运行 q SELECT FROM entries where id 1 result mysql query
  • Visual Studio 2017 - Git 因致命错误而失败

    我使用的是 Visual Studio 2017 Community Edition CE 并且已登录我的 Microsoft 帐户并连接到 VSTS 我可以看到我的所有项目和存储库 但是当我尝试拉 取 推送任何更改时 我收到以下错误 Er
  • 设置包括 Wamp 上 PEAR 的路径

    安装 PEAR 并按照上的说明进行操作http www phpunit de manual current en installation html pear config set auto discover 1 pear install
  • 从资源加载dll库到当前域(在主exe文件中嵌入dll)

    我尝试使用以下代码在运行时加载 dll 库 这样我就不必向用户提供大量 dll 文件以及主可执行文件 我已将所有 dll 文件作为嵌入式资源包含在内 并且在参考部分中我已包含它们并设置了复制本地属性为 false 但这里的问题是 1 所有d
  • 在 Firebase 中检索嵌套数据 - Android

    我刚刚进入 firebase 和 android 的世界 我按照在线教程设置和获取非嵌套数据并将其显示在列表视图中 如下所示 数据之前 mListView ListView findViewById R id ListView final
  • UIView 背景颜色影响 iOS 5 中的触摸

    我有一个在 iOS 4 中运行的具有子类触摸响应的自定义视图 在 iOS 5 上 当沿着视图的底部边缘触摸时 这些触摸根本不会响应 if视图的背景颜色设置为clearColor 我一直无法追踪到这一点 但有谁知道 iOS 5 是否改变了视图
  • 如何让 perf stat 支持 KVM 中的“分支”、“分支未命中”等硬件事件

    我想通过 分支未命中 硬件事件来评估一个进程的性能 但是当我使用 perf stat 获取 分支未命中 数据时 它总是返回 0 因为我的操作系统位于 KVM 中 因为我拿一台真机来做测试比较麻烦 所以我想知道当我在 KVM 中时 有什么方法
  • 具有多个模板的 ASP Repeater 控件

    如何拥有具有多个模板的转发器控件 其中选择的模板基于项目的类型 这就是我目前所拥有的 我的复读班 ToolboxData lt 0 LifestreamRepeater runat server gt public class Lifest
  • 变异观察者产生无限循环

    我正在使用 jQuery 的突变观察器编写一个函数来注册对 DOM 的更改 特别是在添加新节点时 以便我可以更改其内容 SELeCTOR GOOD click function var targetNode this find conten
  • 表达 sendfile 和重定向 url

    我有一堆中间件 一开始app use我测试该过程是否受到胁迫 如果是 我希望它只发送静态 index html文件并将用户的浏览器重定向到 req url 例如 app set port PORT etc app use function
  • 设置 R_LIBS 并避免“您想使用个人库吗?”

    我的个人库在 Renviron中设置为R LIBS R lib 当我从 rstudio 安装软件包时 这非常有效 当我尝试从普通 R 控制台会话安装新软件包时 它总是询问我 Would you like to use a personal
  • 可以使用缓冲读取来计算 MD5(或其他)哈希值吗?

    我需要计算相当大的文件 千兆字节 的校验和 这可以使用以下方法来完成 private byte calcHash string file System Security Cryptography HashAlgorithm ha Syste
  • 向非引用类型添加生命周期约束

    我试图弄清楚如何应用 Rust 生命周期来向 Erlang NIF 模块添加一些编译时强制 NIF 模块是通常用 C 编写的提供扩展的共享库 用 C 语言编写的回调的简化原型如下所示 Handle my nif function Heap
  • 如何在 Zend Framework 2 中获取控制器名称、操作名称

    我在 Zend Framework 2 中有一个默认模块 namespace Application Controller use Zend Mvc Controller AbstractActionController use Zend
  • 任一类型包含不同类型

    原始帖子已编辑为简化示例 我想创建一个组件 该组件将采用一对值 这两个值都基于相同类型 gt value setValue 并且基于它 将运行取决于这些类型的函数 为了充分说明情况 AnimalAndCatTypes ts export i
  • 如何使用 C 从用户空间获取 Linux 中的驱动器标签

    我需要在 Linux 中使用 c c 并且没有 d bus 获取特定设备的标签 问题是我不能只打开设备并读取它的信息 对于 extN 来说 很容易从设备获取标签 因为从 dev xxx 读取需要 root 权限 我认为现在在大多数发行版中都
  • 从 FullCalendar (jQuery) 中删除事件源时出现问题

    就在那时 我正在使用全日历显示来自多个源的事件 一些是本地 JSON feed 另一些来自 Google Calendar 我实现了一项功能 当复选框分别为 true 或 false 时 可以显示 隐藏单个日历 我正在使用这段代码来实现它
  • 如何从Delphi运行命令行?

    如何从我的 Delphi 应用程序运行此命令 C myapppath appfolder gt appname exe stext save txt 我尝试了以下代码 ShellExecute 0 nil cmd exe cd C myap