近段時間,需要寫一個小功能,就是需要判斷程式是否已經運行。某個程式安裝後,也許被多個用戶運行。那怎樣判斷當前用戶已經運行了此程式了呢?下麵是Insus.NET的做法,就是:《VB.NET WinForm獲取運行程式用戶名》http://www.cnblogs.com/insus/p/5194839.
近段時間,需要寫一個小功能,就是需要判斷程式是否已經運行。
某個程式安裝後,也許被多個用戶運行。那怎樣判斷當前用戶已經運行了此程式了呢?
下麵是Insus.NET的做法,就是:
《VB.NET WinForm獲取運行程式用戶名》http://www.cnblogs.com/insus/p/5194839.html
然後:
《WinForm(VB.NET)獲取當前登錄的用戶名》http://www.cnblogs.com/insus/p/5195126.html
從上面的方法,如果二者的值相同,那此程式已經被當前用戶運行。
源代碼:
Public Shared Function IsRunning(processName As String) As Boolean Dim btnIsRun As Boolean = False Dim owner As String = GetProcessOwner(App) Dim po As String = owner.Substring(owner.LastIndexOf("\") + 1) Try Dim listProc() As System.Diagnostics.Process listProc = System.Diagnostics.Process.GetProcessesByName(processName) If listProc.Length > 0 AndAlso GetUserName() = po Then btnIsRun = True Else btnIsRun = False End If Catch ex As Exception btnIsRun = False End Try Return btnIsRun End FunctionView Code