我希望能够告诉主动进程使用Windows命令行理想地打开文件 - 但任何使用内置Windows(7+)功能的解决方案(例如powershell或vbscript)也可以。
例如,如果我打开记事本的实例并且知道它的processid是1234,那么能够执行以下操作会很棒:
notepad.exe "myfile.txt" /pid=1234
并且记事本尝试在窗口中打开现有进程的文件。
这可能吗?
答案 0 :(得分:0)
您应该使用Autohotkey。虽然这可以在powershell中完成,但它比专业工具更复杂。在AHK中,您将模拟打开的文件(通常的快捷键Ctrl + O),然后AHK将识别对话框并在最后插入文件名和ENTER。这将处理许多标准化应用程序,但您仍需要根据具体情况处理一些不寻常的应用程序。
答案 1 :(得分:0)
作为一种适用于打开文件的所有应用程序的通用方法,这是不可能的。该程序必须暴露一些接口(如COM接口)或监听特定的Windows消息或网络流量,您的控制器必须确切地知道要调用什么方法或发送什么消息来触发所需的行为。
即使没有运行进程,也不能保证第一个comnand line参数将被解释为应该打开的文件的名称。然而,在GUI之前的日子里,没有其他方式让用户长期以来一直期待这一点。因此,这被认为是基本行为,任何面向文档的应用程序都将支持它。您的方案不是这种情况,它也会引发一些问题。使用多文档UI,它可以工作。使用单个文档UI ...可能不是一个好主意。是否应该丢弃当前文件?附加到?允许用户保存是,保存否或取消?