use*_*175 7 c# instance double-click file-association
一个例子:
如果您打开并运行Visual Studio(2010),然后双击PC桌面上的misc*.cs文件,该文件将在当前运行的Visual Studio实例中打开,而不是打开另一个VS实例.
如何让我自己的C#程序模仿这种行为?
换句话说,如果我有一个文件类型,如*.myfile与我的程序相关联,并且用户在Windows资源管理器中双击*.myfile,并且...... 我的程序已经运行 .....它应该打开文件而不启动Windows程序的另一个实例.如果程序未运行,则Windows可以正常启动实例.
请注意,我的程序的多个实例是允许的 - 与Visual Studio相同.
任何建议,将不胜感激 !!
如果您查看注册表中 .cs 文件的注册内容,您会发现它不是 Visual Studio。对于 Express 版本,例如,注册的应用程序是“VCSExpress.exe”,工作室在“WDExpress.exe”中运行。在高级版本中,我认为工作室以“devenv.exe”运行。有趣的是,有两个应用程序:UI 应用程序和一种启动器应用程序。我不知道 VS 是如何做到的,但我可以这样想象:启动器通过任何类型的进程间通信(例如命名管道)与 UI 进行通信。(参见这里)也许可以尝试这个: