.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
防止同一个程序多次运行。 [VB.NET]

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

'*****************方法一:防止程序多次打开*****************
'      函数名:      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 False
End Function   'RunningInstance   

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




相关文章

相关软件