不多說了
使用方法在program.cs裡的main裡呼叫就好了
loadprocess.starpoint()第1個引數是用來給已啟動的程序傳送的訊息..
下面是全部**
using system;
using system.collections.generic;
using system.text;
using system.runtime.interopservices;
using system.windows.forms;
using system.diagnostics;
namespace zgke.sysinfo
}else
if (_processinst == 1)
else
}///
/// 傳送訊息
///
/// 傳送訊息
/// 主窗體
private static void sendmessage(string message, intptr p_mainintptr)
///
/// 獲取訊息
///
public class loadprocessmessage : nativewindow
public delegate void getmessage(string text);
public event getmessage loadmessage;
protected override void wndproc(ref message m)
}base.wndproc(ref m);}}
///
/// 訊息
///
public struct copydatastruct
[dllimport("user32.dll", charset = charset.auto)]
public static extern int sendmessage(intptr hwnd, int wmsg, int wparam, ref copydatastruct copydata);}}
讓程式只執行乙個例項(C )
通常我們會遇到這樣的情況,讓程式只執行乙個例項,比如啟動防毒軟體時,只能啟動乙個,再啟動的話就沒什麼效果!利用程式名來判斷不是乙個好辦法,如果我們把程式名稱改一下就可以執行兩個完全一樣的程序。我們最好利用程式集的attribute存放特定資訊,然後用assembly物件的getcustomattri...
保證乙個程式只執行一次
相信如果學過作業系統的朋友一定能夠看的懂.可以使用 waithandle.waitone 請求互斥體的所屬權。擁有互斥體的執行緒可以在對 wait 的重複呼叫中請求相同的互斥體而不會阻塞其執行。但執行緒必須呼叫 releasemutex 方法同樣多的次數以釋放互斥體的所屬權。如果執行緒在擁有互斥體期...
c exe程式只讓啟動乙個
保證程式在系統中只能啟動乙個,實現思路 在程式啟動時,檢測系統中所有程序,判斷系統中是否已經存在該程式的程序 在main函式中新增如下 process pro1 process.getprocessesbyname process.getcurrentprocess processname proc...