我有许多用python编写的脚本,它们使用pywinauto库。这些脚本在Windows上打开程序,在里面做事情,等等。现在我已经开始学习Node.js了,到目前为止,我只找到了Robot.js,这当然是有希望的,但我认为它缺乏像pywinauto那样深入细节的能力。
例如,假设我想找到一个名为"Wordperfect“的程序(如果它是否打开),如果打开,则关闭该程序并重新打开它。下面是我如何在python中使用pywinauto实现这一点:
from pywinauto import Desktop, Application
# Starts Wordperfect
wp_open = "wpwin14.exe" in (p.name() for p in psutil.process_iter())
if wp_open == False: # detects Wordperfect is closed
app = Application().start(cmd_line=u'"C:\\Program Files (x86)\\Corel\\WordPerfect Office X4\\Programs\\wpwin14.exe" ')
if wp_open == True: # detects Wordperfect is open
app = Application().connect(class_name='WordPerfect.14.00') # title=u'WordPerfect X4 - Document1 (unmodified)',
wordperfect = app[u'WordPerfect.14.00']
# Kills Wordperfect
app.Kill_()
# Reopens Wordperfect
app = Application().start(cmd_line=u'"C:\\Program Files (x86)\\Corel\\WordPerfect Office X4\\Programs\\wpwin14.exe" ')这只是我剧本的开始。从这里开始就变得更复杂了。不幸的是,到目前为止,我还没有在Node.js中找到一种具体的方法来做到这一点。有人能告诉我是否有以及如何做吗?我一直在查看child-process文档中的Node.js,但是从我在示例中看到的情况来看,还不清楚如何重新创建上面的python中的内容。
发布于 2022-07-14 06:11:03
最后,我找到了Robot.js,它在windows上做同样的事情,除了创建一个EXE包。
https://stackoverflow.com/questions/58124298
复制相似问题