<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    如何使自己的程序只運行一次

    我介紹兩個主流的方法。

    方法一:使用Mutex來進行

    1. 首先要添加如下的namespace:

    using System.Threading;


    2. 修改系統Main函數,大致如下:

    bool bCreatedNew;

    //Create a new mutex using specific mutex name
    Mutex m =new Mutex( false, "myUniqueName", out bCreatedNew );
    if( bCreatedNew )
    Application.Run(new yourFormName());

    如上面編碼就可以了,要注意的一點是,在給Mutex起名字的時候,不要太簡單,以tb防止和其他程序的Mutex重復,從而達不到所預想的效果。


    方法二:使用Process來進行

    1. 首先要添加如下的namespace:

    using System.Diagnostics;
    using System.Reflection;

    2. 添加如下函數:

    public static Process RunningInstance()
    {
    Process current = Process.GetCurrentProcess();
    Process[] processes = Process.GetProcessesByName(current.ProcessName);

    //Loop through the running processes in with the same name
    foreach (Process process in processes)
    {
    //Ignore the current process
    if (process.Id != current.Id)
    {
    //Make sure that the process is running from the exe file.
    if (Assembly.GetExecutingAssembly().Location.Replace("/", "http://") == current.MainModule.FileName)
    {
    //Return the other process instance.
    return process;
    }
    }
    }

    //No other instance was found, return null.
    return null;
    }

    3. 修改系統Main函數,大致如下:

    if( RunningInstance() == null )
    Application.Run(new yourFormName());

    如上面編碼就可以了,要注意的一點是,在判斷進程模塊文件名是否相等這部分的代碼,是可選的。如果當前的程序在文件系統中只存在一個的話,以上的方法是可以的;否則不要刪除這部分的代碼。


    對比兩種方法,就效率和簡便性來說,前一種方法是最好的,也是我比較喜歡的;后一種方法,速度比較慢,其次通過ProcessName去系統中查尋,有可能查出來的Process并不是我想要得,雖說在后面加了文件目錄判斷,但是其含有潛在的問題(前面已經說出來)。不過,第一種方法也有缺陷,就是擴展性操作不方便,例如:讓程序只運行一次,如果程序已經運行,把它彈出并顯示到最前面。對于此,后一種方法就很有優勢了。

     

    posted on 2012-07-05 13:25 chen11-1 閱讀(769) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲另类自拍丝袜第五页| 最近最好最新2019中文字幕免费| 亚洲日本国产精华液| 亚洲欧美国产国产一区二区三区 | 中文有码亚洲制服av片| 美女裸免费观看网站| 亚洲免费视频播放| 国产91精品一区二区麻豆亚洲| 亚洲国产日韩女人aaaaaa毛片在线| 一级片在线免费看| 免费无码又爽又刺激毛片| 久久精品国产99精品国产亚洲性色| 国产亚洲综合精品一区二区三区| 美丽姑娘免费观看在线观看中文版| 亚洲国产精品尤物yw在线| 亚洲小说图区综合在线| 最近中文字幕免费mv在线视频| 99人中文字幕亚洲区| 三级黄色在线免费观看| 免费在线一级毛片| 亚洲无码一区二区三区| 免费人成在线观看网站品爱网日本| 日韩在线一区二区三区免费视频 | 亚洲色欲或者高潮影院| 三级黄色片免费看| 亚洲精品免费在线| 国产精品区免费视频| 亚洲日韩精品一区二区三区| 久香草视频在线观看免费| 亚洲成A人片在线观看WWW| 两个人日本WWW免费版| 亚洲视频在线视频| 另类免费视频一区二区在线观看| 久久精品国产亚洲5555| 国产日韩在线视频免费播放| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲国产欧美日韩精品一区二区三区| 在线观看免费人成视频| 午夜在线a亚洲v天堂网2019| 亚洲精品视频在线观看你懂的| 日韩大片在线永久免费观看网站|