程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 確保只有一個程序實例運行(C#)之解決方法

確保只有一個程序實例運行(C#)之解決方法

編輯:關於C語言
如何確保在C#中只有一個程序(實例)運行?

  解答:主要應用System.Diagnostics名字空間中的Process類來實現,思路,我們在運行程序前,查找進程中是否有同名的進程,同時運行位置也相同程,如是沒有運行該程序,如果有,就將同名的同位置的程序窗口置前.
主要代碼:


[C#]
public static Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName (current.ProcessName);
//查找相同名稱的進程
foreach (Process process in processes)
{
//忽略當前進程
if (process.Id != current.Id)
{
//確認相同進程的程序運行位置是否一樣.
if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
{
//Return the other process instance.
return process;
}
}
}
//No other instance was found, return null.
return null;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved