我打开了几个Visual Studio 2008实例,我想在特定实例中打开源文件。
我计划使用Win32 API和ShellExecute(...)
之类的东西来做这件事,但我还找不到解决方案。
有没有办法这样做?有什么想法吗?
答案 0 :(得分:1)
除非打开文件的应用程序(VS2008)设置了一个消息处理程序来启动打开文件(不确定它是否存在;这将是最简单的方法),您可以模拟拖放操作该文件到应用程序的客户区(通过消息直接发送到客户端窗口的消息处理程序)。您需要获取VS2008的客户端窗口的句柄,以用于您要将消息发送到的实例。
但是,不知道目的是什么。您通常可以使用ShellExecute()调用新实例来打开文件,但这不会引用已经运行的特定实例。您可能考虑的另一种方法是为主窗口挂钩VS2008的消息处理程序,并记录与菜单命令相关的所有消息。您可能能够确定是否存在与打开文件相关联的消息事件。找出发送到WndProc()函数的参数将是另一个故事。希望它将作为字符串指针(对于文件名)发送到lParam。
答案 1 :(得分:0)
您可以尝试使用AutoHotKey。它有一个内置的脚本语言,并有各种替代方法来识别将消息发送到哪个应用程序。