測試文字功能,小工具,標題

記錄很重要,不然會浪費很多時間在找以前的記憶

一個人的氣度,決定他未來的高度。

2016年3月18日 星期五

C# Registry 登錄檔

Registry 類別
https://msdn.microsoft.com/zh-tw/library/microsoft.win32.registry(v=vs.100).aspx


Registry.GetValue 方法
https://msdn.microsoft.com/zh-tw/library/microsoft.win32.registry.getvalue(v=vs.100).aspx



Registry.SetValue 方法 (String, String, Object, RegistryValueKind)
https://msdn.microsoft.com/zh-tw/library/3dwk5axy(v=vs.100).aspx

設定首頁為192.168.1.1
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main", "Start Page", "http://192.168.1.1");


Registry.SetValue(keyName, "TestLong", 12345678901234, RegistryValueKind.QWord);

參數

keyName
型別:System.String
機碼的完整登錄路徑,以有效登錄根目錄開頭 (例如 "HKEY_CURRENT_USER")。
valueName
型別:System.String
名稱/值組的名稱。
value
型別:System.Object
要儲存的值。
valueKind
型別:Microsoft.Win32.RegistryValueKind
儲存資料時要使用的登錄資料型別。
  
========================================================

try
            {
               // Registry.GetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main", "Start Page", "").ToString();
               // Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main", "Start Page", "http://192.168.54.216");

                // CurrentUser = HKEY_CURRENT_USER
                // Registry.CurrentUser.OpenSubKey(子目錄,true) true表示可以覆寫
               using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\\Microsoft\\Internet Explorer\\Main", true))
               {
                   if (key.GetValue("Start Page").ToString() != "http://192.168.54.216") //要先轉String才能比較
                   {
                       key.SetValue("Start Page", "http://192.168.54.216");
                   }
                   if (key.GetValue("Secondary Start Pages") != null) //沒有這個值會回傳NULL
                   {
                       key.DeleteValue("Secondary Start Pages");
                   }                
               }     
            }
            catch (Exception err)
            {
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Err_log_" + DateTime.Now.ToString("yyyyMMdd") + ".txt", true))
                {
                    file.WriteLine(err.Message + " " + DateTime.Now.ToString("yyyyMMddHHmmssfff"));
                    file.Close();
                    file.Dispose();
                }
            }
            finally {
                this.Close();
            } 

沒有留言:

張貼留言