Jon*_*an. 3 .net vb.net explorer contextmenu single-instance
我有一个程序,当使用资源管理器中的右键菜单打开文件时.但是,如果我选择多个文件,然后右键单击并打开我的程序,那么它会打开我的程序的多个实例,而不是仅将多个文件作为参数传递给单个实例.该程序是用vb.net编写的,但不是windows窗体,它只是一个模块,所以我可以勾选Visual Studio中属性中的Single实例选项.
那么如何在单个实例中从资源管理器上下文菜单中打开多个文件.
这里没有满意的答案,Windows资源管理器不提供一种简单的方法来启动程序传递所有选定的文件.这需要一个shell上下文菜单处理程序,它们很难用托管代码编写.并且无法安全地编写.NET 4.0.
尽管如此,使用VB.NET中提供的应用程序框架可以很容易地模拟它,使您的应用程序成为单例并实现StartupNextInstance事件.唯一的问题是这不是特别快.并且它在控制台模式应用程序中不起作用.