确保一次只能运行一个应用程序实例通常是一个非常好的做法。为了确定某个VB.NET程序是否有其他实例在运行,您需要获得一个正在运行的所有进程的列表,看看这个应用程序是否只有一个实例在运行。在列表A里,我使用System.Diagnostics.Process类来实现这一目的。
在这个例子里,我定义了一个数组——appProc,将它作为一个Process。然后我定义了两个字符串变量:strModName和strProcName。变量strModName的值被设置为Process.GetCurrentProcess.MainModule.ModuleName属性,而变量strProcName的值被设置为System.IO.Path.GetFileNameWithoutExtension,我把strModName里模块的值传递给了后者。然后,我只需要检查数组appProc的Length属性。如果长度超过1,这就意味着有一个以上的应用程序实例在运行,我用这作为信息框显示的依据。
示例中需要注意的内容
您应该将这个例子作为应用程序Main(主)程序的一部分。如果您确定这个应用程序还有其他的实例在运行,您可以决定采取相应的行动;在大多数情况下,提醒用户应用程序已经在运行就足够了。如果没有应用程序的其他实例在运行,您就可以继续进行必要的应用程序逻辑了。(文/Irina Medvinskaya,builder.com.com)
责任编辑:张琎