当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 防止同一个程序多次运行。 [VB.NET]

ASP.NET
.Net将如何影响我们?(一)
.Net将如何影响我们?(二)
开发者面临的.Net挑战(一)
开发者面临的.Net挑战(三)
.Net的精髓-XML和SOAP(一)
.Net的精髓-XML和SOAP(二)
.Net的精髓-XML和SOAP(三)
.net的reflection (1)
.net的reflection (2)
Asp.net编写的PING工具
.NET语言的选择
且看微软的.Net和Sun公司的J2EE如何对垒
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(1)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(2)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(3)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(4)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(5)
什么是配件(assembly)?
什么是映射(reflection)?
从一个舆论调查的制作谈面向对象的编程思路(一)

ASP.NET 中的 防止同一个程序多次运行。 [VB.NET]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 99 ::
收藏到网摘: n/a

防止同一个程序多次运行。
'*****************方法一:防止程序多次打开*****************' 函数名: IsInstanceRunning ' 功 能: 判断工程是否已运行 ' 参 数: 无 ' 返回值: True 已运行 False 未运行 '******************************************************* Public Function IsInstanceRunning() As Boolean Dim current As Process = System.Diagnostics.Process.GetCurrentProcess() Dim processes As Process() = System.Diagnostics.Process.GetProcessesByName(current.ProcessName) 'Loop through the running processes in with the same name Dim p As Process For Each p In processes 'Ignore the current process If p.Id <> current.Id Then 'Make sure that the process is running from the exe file. If System.Reflection.Assembly.GetExecutingAssembly().Location.Replace("/", "\") = current.MainModule.FileName Then 'Return the other process instance. Return True End If End If Next 'No other instance was found, return null. Return FalseEnd Function 'RunningInstance

'*****************方法二:防止程序多次打开*****************Imports System.Diagnostics If UBound(Process.GetProcessesByName(Process.GetCurrentProcess.ProcessName)) _ > 0 Then Eixt Sub'Process.GetCurrentProcess.ProcessName 获取当前运行程序的名称。