在Windows上通过ruby处理2个或更多的Windows程序实例

好的,那么。 谢谢您阅读此篇。

我很容易处理例如Excel中的多个实例,只需定义两个variables:

require 'win32ole' excel1 = WIN32OLE.new('Excel.Application') excel2 = WIN32OLE.new('Excel.Application') 

…魔术发生aaaaand它工作得很好。 (Excel可能默认支持多个实例)

让我们移动其他的例子。 (几个小时的谷歌search后)我find了一种方式如何运行两个不支持它的程序单独的实例(至lessruby不工作,因为它是与Excel的工作)通过创build* .bat文件(或键入它在cmdline中):

 start "BrioQry" "C:\Program Files (x86)\Brio\Brio8\Client\Program\brioqry.exe" "C:\samefiletoload.bqy" /e %1 start "BrioQry" "C:\Program Files (x86)\Brio\Brio8\Client\Program\brioqry.exe" "C:\samefiletoload.bqy" /e %2 

我不知道/ e和%1和%2在做什么(%可能是参数),但它工作得很好。 是的,这些文件是相同的。 我可以通过winmgmts获得关于这个进程的一些信息

 require 'win32ole' mywmi = WIN32OLE.connect("winmgmts:\\\\.") 

所以,我的问题是:

1)如果可以通过向WIN32OLE.run()添加某种参数来运行单独的实例(不支持它的程序)

2)如果可以通过WIN32OLE.connect方法连接到已经运行的进程(通过cmdline启动)

3)如果我不想通过尝试来实现这一点,

4)如果有其他的方式来做这个ruby或python

(是的,我想然后使用该应用程序)

谢谢!!!