草庐IT

标准图

全部标签

c++ - 在 Windows 上等待进程或标准输出

我正在使用CreateProcess启动一个进程,我想等待该进程完成,或者等待任何内容写入标准输出,该标准输出正在通过匿名管道进行传输。下面的代码不起作用,因为WaitForMultipleObjects不断返回stdout管道,即使没有任何内容可读。有没有办法等待管道?我等不及要阅读了,因为如果流程完成,我还需要继续。我也不能等到过程完成而不检查管道,因为它可能会溢出。有什么想法吗?if(::CreateProcess((!application_name.empty()?application_name.c_str():NULL),//Application/Executablen

windows - 批处理脚本中的非标准文件描述符

所以我有(我认为是)一个有趣的问题。在工作中,我使用专有命令行实用程序测试/配置我们制作的以太网设备。基本上,您打开命令提示符,在相应目录中键入ethutil,然后它通过JTAG访问芯片。在此实用程序中,您可以运行“脚本”,这些脚本只是填充了适当命令的文本文件。它们是这样运行的:-->runtest_script.txt然后这将吐出对脚本中所有命令的反馈。我已经开始通过使用批处理文件将命令管道化到实用程序来自动执行大量寄存器写入/读取操作,如下所示:typeruntest_script.txt|ethutil>nulnul只是为了抑制我的批处理读数中的所有输出。这工作得很好,但我总是收

java - ntdll.dll 是 Windows XP 和 Windows Vista 的标准配置吗?

ntdll.dll是WindowsXP和WindowsVista的标准配置吗?我知道我的WindowsXP机器上有它,但我不确定这是否是每台机器的标准配置。我很好奇的原因是NTQuerySystemInformation函数可以获取windowsXP和/或WindowsVista系统的CPU使用率。 最佳答案 是的,但是您要使用的函数不会可能不会。根据MSDN,NTQuerySystemInformation在未来的Windows版本中可能会被更改或不可用。你应该使用GetSystemInfo相反,它位于Kernel32.dll中,

.net - 如何为自定义异常处理程序显示标准 Windows 错误图标?

如标题所示,我只想为自定义异常处理程序显示一个标准的Windows错误图标。使用WPF实现此目的的最简单方法是什么?比如这个对话框中的红叉:alttexthttp://blogs.sun.com/coreqa/resource/other/report-exception.jpg 最佳答案 看看System.Drawing.SystemIcons.所有标准对话框图标都供您使用。 关于.net-如何为自定义异常处理程序显示标准Windows错误图标?,我们在StackOverflow上找到

python - 从 Windows 中的子进程检索标准输出

我可以使用subprocess.Popen调用FFmpeg并检索我需要的数据,因为它发生(以获得进度),但只能在控制台中。我环顾四周,发现您无法“实时”获取数据whenrunningwithpythonw.然而,等到进程完成以检索数据是没有实际意义的,因为我试图在FFmpeg周围包装一个PyQTGUI,这样我就可以有漂亮的进度条等等。所以问题是,您可以在使用pythonw时从子进程调用中检索“实时”数据吗?我还没有尝试使用py2exe将应用程序简单地编译为Windows应用程序,这样可以解决问题吗? 最佳答案 process=sub

windows - 在 Windows 上动态重定向 child 的标准输出

我注意到关于处理这个的其他几个问题,但似乎都受到以下问题的困扰:不在Windows上工作要求child在检索输出之前完成我想做的是调用一个程序(例如tshark.exe)并在它运行时处理它的输出。迄今为止我已经尝试过:反引号第三轮过程::可靠一切都没有成功。我可以花一整天的时间尝试并找不到一个可以帮助我解决这个问题的模块(即我已经花了一整天),但我认为如果我只是问是否有人知道一个可能会更好。 最佳答案 您不需要模块。只需了解open命令的管道形式——这些在Windows上工作得很好。my$pid=open(my$cmd_handle

windows - 标准输入 → 标准输出?

Unixechofoo|的等价物是什么?猫?ECHOfoo|TYPECON挂起,等待输入,至少在WindowsXP/SP3上是这样。可能CON不是标准输入而是键盘输入。您可能想知道这个练习的意义何在:有些程序在注意到它们的输出是通过管道传输时表现不同,我想要一种方法来测试它们。 最佳答案 不确定您想做什么,但这可能会有所帮助:typefile|more这可能更适合您的需求。foo.exe|findstr"^" 关于windows-标准输入→标准输出?,我们在StackOverflow上找

c++ - 尝试在 Windows 上重定向标准输出和标准错误 - _fileno(stdout) 返回 -2

这是我的第一个问题!我准备将一些工作良好的C++代码从UNIX移植到Windows,它通过管道将stdout和stderr重定向到自定义GUI组件。我需要它来显示来自第三方库的反馈,该库仅将消息输出到我的GUI上的标准输出。根据这个答案https://stackoverflow.com/a/617158这应该工作。事实上,链接中的代码在使用VisualStudio2017构建的新命令行应用程序中按预期工作。但是在我现有的GUI应用程序中,调用_fileno(stdout)以及_fileno(stderr)两者都返回-2而不是预期值1和2,因此什么也没有发生。将1和2硬编码到相关函数也无

javascript - Windows 上的 Python 标准输出

Windows上的Python不使用正常的STDOUT,那么这是怎么回事?python--versionPython2.7.15显示一个版本!但我无法捕获它!python--version>temp.txtPython2.7.15typetemp.txt没有!问题是,我需要根据Python版本(来自JavaScript)来做逻辑,到目前为止,这是毫无希望的。 最佳答案 尝试在将stdout重定向到文件的同时将stderr重定向到stdout:python--version1>temp.txt2>&1

python - 使用标准输入管道控制 Windows 控制台应用程序

我正在尝试使用subprocess模块从Python控制控制台应用程序(Segger的JTAG应用程序)。该应用程序对于stdout的行为正确,但似乎没有读取stdin。如果启用shell,我可以输入输入并控制应用程序,但我需要以编程方式执行此操作。相同的代码可以很好地向cmd.exe等发出命令。我猜是直接读取键盘而不是标准输入。有什么想法可以发送应用程序输入吗?fromsubprocessimportPopen,PIPE,STDOUTjtag=Popen('"C:/ProgramFiles/SEGGER/JLinkARM_V402e/JLink.exe"',shell=True,un