可以从获取当前过程的名称为开始,你可以通过调用过程对象的GetCurrentProcess方法来达到这一目的。这是一个公共的方法,所以无需建立一个过程对象的实例。
Dim strProcessName As String
strProcessName = Diagnostics.Process.GetCurrentProcess.ProcessName
下一步即为查找当前匹配的过程。可以使用GetProcessesByName方法达到这一要求。还有另一个过程是对象的静态方法,它使用过程的名称,返回所有的匹配过程。
If Diagnostics.Process.GetProcessesByName( _
strProcessName).Length > 1 Then
注释:More than one instance was found
End If
如果这是程序的第一个运行结果,则应该只有一个匹配过程。如果能够找到多个运行结果,那么一定是程序的多个版本在运行之中。
当你想确认用户只运行程序的一个结果时,这一方法非常有用。