.Net中如何限制執行程序只能運行一次和如何讀寫註冊表

最近在做一個MSN風格的自動上傳報文的托盤程序時,需要限制程序只能運行一次,找了下,還好在其他項目中找到了相關的資料,代碼如下:
        /// <summary>
        /// 應用程序的主入口點。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            string processName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
            int matched = 0;
            foreach (System.Diagnostics.Process process in System.Diagnostics.Process.GetProcesses())
            {
                if (processName == process.ProcessName) matched++;
            }

            if (matched >= 2)
            {
                    return;
            }
            Application.Run(new Main_Obser());
        }

讀寫註冊表的也挺簡單的,代碼如下:
        /// <summary>
        /// 在註冊表中輸入程序自動運行路徑
        /// </summary>
        /// <param name="programPath"></param>
        public static void SetRegistryKey(string programPath)
        {
            try
            {
                RegistryKey rk = Registry.LocalMachine.CreateSubKey(AUTOUPLOAD_REGISTRY_PATH);
                rk.SetValue(DEFAULTNAME, programPath+@"/"+PROGRAM_NAME);
                rk.Close();
            }
            catch
            {
            }
        }
        /// <summary>
        /// 在註冊表中刪除程序自動運行路徑
        /// </summary>
        /// <param name="programPath"></param>
        public static void deleteRegistryKey()
        {
            try
            {
                RegistryKey rk = Registry.LocalMachine.CreateSubKey(AUTOUPLOAD_REGISTRY_PATH);
                rk.SetValue(DEFAULTNAME,"");
                rk.Close();
            }
            catch
            {
            }
        } 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章