【问题标题】:python script to operate windows program [duplicate]操作windows程序的python脚本[重复]
【发布时间】:2017-07-14 01:08:30
【问题描述】:

我看到了有关 python 启动 Windows EXE 文件的问题,但我需要一些不同的东西......我想在运行 Ubuntu 的机器上做。

我有一个 Windows EXE,它打开一个窗口,允许我选择一个 COM 端口并输入一个文件名,然后有几个按钮,我可以使用这些按钮查询该 COM 端口上的传感器并将输出写入文件.我需要自动化这个数据收集过程,并且希望在运行 Ubuntu 16.04 LTS 的 MinnowBoard 上使用 python 脚本简单地模仿 EXE 的行为,但传感器的创建者不会共享他们用来与传感器通信的协议。显而易见的协议似乎不起作用,所以我留下了它们编译的可执行文件。

有没有办法在 Linux 上的 python 中运行 Windows 可执行文件,在文件名字段中输入文本,然后按特定顺序单击一些按钮?本质上,我正在寻找一个通用的宏功能在一个模拟器(比如 Wine?)。 EXE 可以通过按键操作(鼠标不是必需的),如果这有所不同的话。任何想法都会有所帮助!

【问题讨论】:

标签: python windows macros exe


【解决方案1】:

在第一次结帐系统中,它调用传递的字符串作为命令行。这是一个在 windows-notepad 中编辑文件的示例。

from os import system
print("input path and filename to open a file")
print("input nothing to create a new file")
file = input(">>> ")
system("notepad.exe {}".format(file))

Windows 程序也有开关(在字母前用 / 或 - 标记)来改变行为。退房 -?在某些 Windows 程序上以在命令行中获取更具体的信息。

在 linux 上,您应该安装一个虚拟机。使用 system 调用 vm,其中您将 exe 与上面传递的文件名一样传递给 notepad.exe。

#windowsCommandLine is the windows programfile and its parameters -> so it is the string you will pass directly to system on windows.
system("{} {}".format(virtualBoxPath, windowsCommandLine)

通过一些研究,您可以找到可以模拟输入的 vms,它可能使用另一种编程语言。在windows-C-library中也有一些可以模拟键盘输入的函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多