有没有办法捕获 Windows 机器上另一个程序正在执行的命令行程序的输入?

有没有办法捕获 Windows 机器上另一个程序正在执行的命令行程序的输入?

我正在做一些视频编辑,我发现了一个名为 Any Video Converter (AVC) 的程序,它是免费的,而且易于使用。我发现了一些预设,在输出方面非常适合我。

我知道事实上 Any Video Converter 只是 FFMPEG 命令行工具的一个很好的包装器(我确信大多数其他视频转换器也是如此。)

虽然这对我来说有用,但我更愿意直接使用 ffmpeg,这样我就可以编写自己的自动化脚本来加快速度。

但是,我不想花费数小时和数天来学习 ffmpeg。(也许有一天。)所以我的愿望是以某种方式“捕获/记录”我在进行转换时 AVC 正在使用的设置。

有没有办法在 Windows 中做到这一点?您可以打开某种 cmd“侦听器或跟踪工具”,从 AVC 运行,然后由侦听器记录,然后关闭侦听器。

谢谢您的指导。

答案1

我对 AVC 一无所知,但可以使用 Process Explorer 轻松捕获现有进程上的命令行参数。

https://technet.microsoft.com/en-au/sysinternals/bb896653.aspx

开始编码,打开进程资源管理器,选择 ffmpeg 进程,右键单击,选择“属性”,就可以了。如果您只需要获取一个进程的命令行,这是最简单的方法之一。

特性

或者,如果您确实需要一个监控工具,Process Monitor 将为您完成这项工作。

https://technet.microsoft.com/en-us/library/bb896645.aspx

  1. 运行进程监视器,在“进程监视器过滤器”对话框中设置一个新的过滤器进程名称是 ffmpeg.exe”,然后单击“添加”,如下所示。如有必要,您可以在那里另外添加 AVC 的模块名称(avc.exe?)。(我输入的是 CMD.EXE,因为我没有 AVC 和 FFMPEG) 筛选

  2. 单击“确定”关闭对话框,取消选择“注册表”、“文件”、“网络监控”,因为我们现在不关心它们。应该选择最后一项(进程和线程)。 监控

  3. 运行 AVC。每当它调用 FFMPEG.EXE 时,内部活动都会记录在此窗口中,如下所示。检查“进程启动”操作 - 由于我没有您想要监控的工具,我使用 cmd.exe 进行了测试,您会看到我输入的用于测试的参数“mycommandline”。 结果

祝你好运!

相关内容