一个例子:
如果已打开并运行Visual Studio(2010),然后双击PC桌面上的misc * .cs文件,则该文件将在Visual Studio的当前运行实例中打开,而不是打开另一个VS实例。
如何获得自己的C#程序来模仿此行为?
换句话说,如果我具有与程序关联的* .myfile这样的文件类型,并且用户双击Windows资源管理器中的* .myfile,然后.... 我的程序已经在运行...。 。它应该在Windows不启动我程序的另一个实例的情况下打开文件。如果程序未运行,则Windows可以正常启动实例。
请注意,我的程序允许有多个实例-与Visual Studio相同。
任何建议,将不胜感激 !!
最佳答案
如果查看注册表中为.cs文件注册的内容,将会看到它不是Visual Studio。对于Express版本,例如注册的应用程序是“VCSExpress.exe”,而Studio正在“WDExpress.exe”中运行。在高级版本中,我认为工作室以“devenv.exe”运行。有趣的是,有两个应用程序:您的UI应用程序和一种启动器应用程序。我不知道VS是如何做到的,但我可以这样想:启动器通过任何类型的进程间通信与UI进行通信,例如命名管道。 (See here)也许试试这个:
关于c# - 在我程序的当前正在运行的实例中打开文件吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26938984/