C#代碼實現,確保windows程式只有一個執行個體(instance)

來源:互聯網
上載者:User
         ///<summary>        ///應用程式的主進入點。        ///</summary>        [STAThread]        staticvoid Main()         {            //防止程式多次運行            if(!OneInstance.IsFirst("GetPayInfo"))            {                MessageBox.Show ("警告:程式正在運行中! 請不要重複開啟程式!可在右下角系統欄找到!","程式錯誤提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop);                return;            }            Application.Run(new Form1());        }        // ******************* 防止程式多次執行 **************************        publicabstractclass OneInstance         {             ///<summary>            ///判斷程式是否正在運行             ///</summary>            ///<param name="appId">程式名稱</param>            ///<returns>如果程式是第一次運行返回True,否則返回False</returns>            publicstaticbool IsFirst(string appId)             {                 bool ret=false;                 if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero)                 {                     CreateMutex(IntPtr.Zero,0,appId);                     ret=true;                 }                 return ret;             }              [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]             privatestaticextern IntPtr OpenMutex(                 uint dwDesiredAccess, // access                 int bInheritHandle,    // inheritance option                 string lpName          // object name                 );              [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]             privatestaticextern IntPtr CreateMutex(                 IntPtr lpMutexAttributes, // SD                 int bInitialOwner,                       // initial owner                 string lpName                            // object name                 );         }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.