Python/Windows,防止子进程(外部程序)显示弹出窗口

2024-04-16

Python 2.7

操作系统:Windows(程序始终在 Windows 上运行,因此交叉兼容性不是问题)

我被迫使用外部应用程序作为验证过程的一部分,并且在隐藏作为该外部程序的输出的弹出窗口时遇到了麻烦。

基本上我这样做:

    args = [ "-A" + param_a, "-B" + param_b, "-C" + param_c ]

    startupinfo = subprocess.STARTUPINFO()
    startupinfo.dwFlags |= subprocess._subprocess.STARTF_USESHOWWINDOW
    startupinfo.wShowWindow = subprocess._subprocess.SW_HIDE

    process = Popen(["C:\external_app.exe", args[0],args[1],args[2]], startupinfo=startupinfo, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

    (output, err) = process.communicate()
    exit_code = process.wait()
    print exit_code

该代码可以工作,但是当缺少参数或参数无效时,外部程序会输出一个弹出窗口,其中包含相应的消息和一个“确定”按钮,需要单击该按钮才能继续。

在代码中我还包含了所有阻止的尝试that从发生。

我知道必须有一种方法可以禁用此行为,因为程序可以作为独立的 Windows 任务工作,并且不会被任何这些消息中断。

也许有一种方法可以在 Python 或 Windows 本身中模拟这一点? 或者也许有一种方法可以自动确认应用程序的所有传入对话框弹出窗口?

任何解决方案都可以。

谢谢, 皮奥特尔

附言。我也尝试联系这个应用程序的原作者,但该公司甚至不在那里...还尝试猜测一个可选参数,如 -hidden 等,但没有任何运气。


None

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

Python/Windows,防止子进程(外部程序)显示弹出窗口 的相关文章

  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • Pandas loc 有条件的替代方案

    我计划提高非 Pandas 开发人员的可读性 我有以下内容workingPython 代码使用 loc new value stackoverflow s query nbc SUGGESTED suggested QUERY query
  • 在 NetworkX 中使边缘更粗

    student id 0 1 2 3 4 5 6 7 8 9 10 11 12 0 131X1319 1 14 6 16 1 10 8 15 15 17 15 18 16 1 13212YX3 1 1 4 8 11 9 14 7 0 3 0
  • 如何添加 id 列来标识 read_html() 表?

    考虑以下站点 site1 http pastebin com vpnGqn5X site2 http pastebin com FbAFGbfR site3 http pastebin com LqZWxFSP 其中有许多不同的表 我在用读
  • Python 和图形数据库。使用 java lib 包装器还是 REST api?

    我想问你在Python中使用图数据库 Neo4j 的最佳方法 你觉得我应该使用 neo4j python embedded neo4j python 嵌入式 http docs neo4j org chunked milestone pyt
  • 为什么我应该在 Python 中引用“名称”和“绑定”而不是“变量”和“赋值”?

    为什么我应该在 Python 中引用 名称 和 绑定 而不是 变量 和 赋值 我知道这个问题有点笼统 但我真的很想知道 在 C 和 C 中 变量是命名的内存位置 变量的值是存储在该位置的值 分配给变量并修改该值 所以变量是内存位置 而不是它
  • R 的 ggplot2 有 Python API 吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的问题就像标题一样简单 我想使用R s ggplot2但我所有的数据处理都是在Python 有没有Py
  • 在 python 中将变量传递给重定向上的模板

    我对 Python 比较陌生 所以请原谅任何幼稚的问题 我的主页有 2 个输入 一个用于 产品 一个用于 电子邮件 当用户单击 提交 时 他们应该被发送到 success 其中会显示 您已请求 产品 您将通过 电子邮件 收到通知 我试图找出
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此

随机推荐

  • 如何测试 sbt 解析器

    在我的本地计算机上 我有一个常春藤缓存 该缓存已通过处理多个项目而被填充 图书馆X使用解析器加载Y在项目中A 同一个图书馆X项目中使用的B 解析这个库没有问题 因为它在我的本地缓存中 当我的一位同事加载项目时B他得到了图书馆的错误X无法解决
  • 使用 SQL 查找给定 x、y 坐标的填充矩形

    给定以下填充的 x y 坐标 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 4 0 4 1 5 0 5 1 如何编写 SQL 查询来确定所有填充的矩形 矩形由其左上角和右下角定义 期望的结果 x1 y1 x2 y2
  • UWP StoreProductQueryResult 不返回任何产品

    我们无法返回 Windows 应用商店应用程序的附加产品列表 我们在 Windows 应用商店中有一个包含 3 个订阅附加组件的应用程序 这些附加组件被标记为隐藏 因为我们不希望它们只能通过我们的应用程序在商店中可见 我们正在开发针对 Wi
  • 通过键盘快捷键重新缩进 XML

    我正在浏览数百个 xml 文件 当我在记事本 中打开它们时 我必须对每个文件执行 HTML Tidy gt re indent XML 对于一个文件来说 这一步骤并不会花费太长的时间 但是加起来就会产生很多很多的文件 有没有办法将其放在记事
  • Linux 上的 mpc / mpd:如何播放本地 wav 文件

    我正在尝试将本地文件添加到 mpd 通过 mpc 并播放它 我的平台是OpenWRT嵌入式linux 因此 从手册页来看 它指出 mpc add
  • 如何将 .sql 文件的内容读入 R 脚本以运行查询?

    我已经尝试过readLines和read csv功能 但随后不起作用 以下是该内容的内容my script sql file SELECT EmployeeID FirstName LastName HireDate City FROM E
  • Node Express 中的 res.sendfile 并传递数据

    有没有办法从 Node JS 应用程序重定向到 HTML 文件 例如 res sendFile http expressjs com api html res sendFileExpress 并将 JSON 数据传递到 html 文件 我知
  • Bash 子 shell:括号:() VS 美元括号:$()

    在 bash 中 两者 and 创建一个子shell 彼此之间有什么区别 它们的典型用途是什么 只是创建一个复合命令 运行括号内的命令 做同样的事情 但也替换输出 来自文档 list list在子shell环境中执行 变量赋值和内置 影响
  • Docker Swarm如何实现卷共享?

    Docker Swarm 可以管理两种类型的存储 volume and bind While bindDocker 文档不建议这样做 因为它在本地目录 在每个 swarm 节点上 与任务之间创建了绑定 volume没有提到实现 所以我不明白
  • apache centos 上的多个 php

    如何在 Centos 6 5 上同时运行多个 php 版本 就是这样 要求Centos 6 5 可能适用于 6 6 和 7 Apache Apache 2 2 15 可能与其他版本一起使用 本指南安装和使用FASTCGI 请参阅替代安装的注
  • 获取 JavaScript 数组中的下一个和上一个元素

    我有一个很大的数组 带有非连续的 ID 看起来像这样 PhotoList 89725 new Array PhotoList 89725 ImageID 89725 PhotoList 89725 ImageSize 123 PhotoLi
  • 如何创建ear文件,并在其中包含war和jar文件

    我正在尝试从命令提示符创建 EAR 文件 我用过 jar cvf myServletWAR ear 但我的问题是 如何让这个 EAR 文件中包含 WAR 文件和 JAR 文件 我需要单独创建war文件并包含在ear文件中吗 我无法为此使用
  • 使用prepareForReuse的正确方法是什么?

    需要帮助了解如何在 UIKit 中使用prepareForReuse 这文档 https developer apple com reference uikit uitableviewcell 1623223 prepareforreuse
  • Django:为索引列指定 HASH 而不是 BTREE

    Django 模型中有没有好的方法来指定特定的索引存储类型 例如 MySQL 的默认存储类型是 BTREE 而对于我的特定列 使用 HASH 哈希表 作为存储类型可能会更有效 如果不创建自定义字段或修改 django 核心 我找不到一个好方
  • 黑莓中的队列线程

    我查看了 BB API 5 0 但找不到任何串行执行一批线程的方法 我知道 BB 对启动的线程数量有限制 所以如果用户点击速度足够快但我找不到像线程池这样的东西 我不想启动 7 是否有一个简单的解决方案 或者我是否必须创建一个数据结构 如果
  • Swift 2 错误处理和 while

    例如下面的代码 while let data Provider getData 使用 Swift 2 你会遇到两个错误 条件绑定的初始化程序必须具有可选类型 而不是 字符串 调用可以抛出 但它没有标记为 try 并且错误不会被处理 在这里进
  • 小样式自定义评级栏(只读自定义评级栏)

    我尝试创建一个自定义评级栏 我不使用style因为我只用过一次 所以 我创建了一个layer list in the drawable文件夹 其名称是custom rating bar xml
  • 在 UIWebView 中打开的 HTML 页面中自动填充用户名和密码

    使用 UIWebView 自动填充数据时如何使用 RegsEx 查找登录表单 我使用以下代码来获取所有表单数据 int NoOfForms self browser stringByEvaluatingJavaScriptFromStrin
  • RenderStrategy.ONE_PASS_RENDER 是摆脱 Wicket 应用程序中的 ?1 等页面版本参数的合理方法吗?

    我们已经使用 Wicket 1 3 7 几年了 目前正在将我们的项目升级到 wicket 6 x 我对页面版本参数做了很多研究 例如 1 附加到每个 URL 以及如何删除它们 不幸的是 在官方文档中找不到这方面的详细信息 在这样做的同时 我
  • Python/Windows,防止子进程(外部程序)显示弹出窗口

    Python 2 7 操作系统 Windows 程序始终在 Windows 上运行 因此交叉兼容性不是问题 我被迫使用外部应用程序作为验证过程的一部分 并且在隐藏作为该外部程序的输出的弹出窗口时遇到了麻烦 基本上我这样做 args A pa