如何在Visual Studio的特定实例中打开源文件(2008)

时间:2011-11-08 23:37:15

标签: c++ visual-studio winapi

我打开了几个Visual Studio 2008实例,我想在特定实例中打开源文件。 我计划使用Win32 API和ShellExecute(...)之类的东西来做这件事,但我还找不到解决方案。

有没有办法这样做?有什么想法吗?

2 个答案:

答案 0 :(得分:1)

除非打开文件的应用程序(VS2008)设置了一个消息处理程序来启动打开文件(不确定它是否存在;这将是最简单的方法),您可以模拟拖放操作该文件到应用程序的客户区(通过消息直接发送到客户端窗口的消息处理程序)。您需要获取VS2008的客户端窗口的句柄,以用于您要将消息发送到的实例。

但是,不知道目的是什么。您通常可以使用ShellExecute()调用新实例来打开文件,但这不会引用已经运行的特定实例。

您可能考虑的另一种方法是为主窗口挂钩VS2008的消息处理程序,并记录与菜单命令相关的所有消息。您可能能够确定是否存在与打开文件相关联的消息事件。找出发送到WndProc()函数的参数将是另一个故事。希望它将作为字符串指针(对于文件名)发送到lParam。

答案 1 :(得分:0)

您可以尝试使用AutoHotKey。它有一个内置的脚本语言,并有各种替代方法来识别将消息发送到哪个应用程序。