<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      dotnet 利用 Windows 注冊表實現開機自動啟動

      本文將演示寫入 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 注冊表路線,實現應用程序開機自動啟動

      核心代碼如下

      static class BoostHelper
      {
          /// <summary>
          /// 添加到啟動項,添加到注冊表,僅限 Windows 系統,寫入到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 里,實現開機啟動
          /// </summary>
          /// <param name="name"></param>
          /// <param name="exePath"></param>
          /// <param name="arguments"></param>
          [SupportedOSPlatform("Windows")]
          public static void AddStartup(string name, string exePath, params string[] arguments)
          {
              // 添加開機啟動
              // 寫入到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 里
              var runKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
              if (runKey is not null)
              {
                  var valueStringBuilder = new StringBuilder();
                  valueStringBuilder.Append($"\"{exePath}\"");
                  foreach (var argument in arguments)
                  {
                      valueStringBuilder.Append($" \"{argument}\"");
                  }
      
                  string value = valueStringBuilder.ToString();
      
                  var existingValue = runKey.GetValue(name) as string;
                  if (existingValue != value)
                  {
                      runKey.SetValue(name, value);
                      //LogMessage($"已設置開機啟動,路徑:{exePath}");
                  }
                  else
                  {
                      //LogMessage($"已設置過開機啟動,路徑:{exePath}");
                  }
              }
          }
      
          [SupportedOSPlatform("Windows")]
          public static void RemoveStartup(string name)
          {
              var runKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
              if (runKey is not null)
              {
                  runKey.DeleteValue(name, false);
                  //LogMessage($"已刪除開機啟動,路徑:{exePath}");
              }
          }
      }
      

      調用 BoostHelper 方法的示例代碼如下

          BoostHelper.AddStartup("Test", Environment.ProcessPath!);
      

      傳入的 AddStartup 的 name 參數表示一個注冊表項名,合理的命名即可,沒有特殊含義。同名的 name 將會相互覆蓋,利用此覆蓋機制即可實現更新啟動路徑的功能。刪除時,就是直接刪除對應的 name 項即可

      寫入之后,將在開機之后,用戶登錄之后,進入桌面之后啟動程序。啟動時使用當前用戶的賬戶權限,且啟動時機是延遲啟動,相對來說比較友好,不會卡開機。這是比較常用的開機自啟的注冊表

      在 Windows 上,還有很多其他注冊表項可以用來添加開機自啟,其差別的核心維度就是由什么、在什么時機啟動

      常見的添加開機自啟的注冊表項如下

      • 當前用戶專有的啟動文件夾: %AppData%\Microsoft\Windows\Start Menu\Programs
      • 所有用戶有效的啟動文件夾: %ProgramData%\Microsoft\Windows\Start Menu\Programs
      • Userinit注冊鍵
        • 注冊表地址: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
        • 通常該注冊表下面有一個C:\Windows\system32\userinit.exe,值,但這個鍵值是允許用逗號來分隔多個程序的,比如 C:\Windows\system32\userinit.exe,C:\lindexi.exe(舉例)
      • Explorer\Run注冊鍵
        • 當前用戶的注冊表地址:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
        • 機器級的注冊表地址:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
      • RunServicesOnce注冊鍵
        • 當前用戶的注冊表地址:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
        • 機器級的注冊表地址:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
        • RunServicesOnce注冊鍵是用來啟動服務的,啟動時間是在用戶登錄之前,而且是先于其它通過注冊鍵啟動的程序
      • RunServices注冊鍵
        • 當前用戶的注冊表地址:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
        • 機器級的注冊表地址:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
        • RunServices注冊鍵指定的程序緊接RunServicesOnce指定的程序之后運行,啟動時間也是在用戶登錄之前
      • RunOnce注冊鍵
        • 注冊表地址:
          • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
          • HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\RunOnce
          • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
        • HKEY_LOCAL_MACHINE下面的RunOnce注冊鍵會在用戶登錄之后立即運行程序,運行的時機是在其它Run鍵指定的程序之前
        • HKEY_CURRENT_USER則會啟動比較慢,它會在操作系統處理其他Run鍵以及“啟動”文件夾的內容之后運行
      • Run注冊鍵
        • 注冊表地址:
          • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
          • HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
          • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
        • Run是自動運行程序最常用的注冊表。會先執行HKEY_LOCAL_MACHINE下的Run注冊鍵內容,再執行HKEY_CURRENT_USER下的Run注冊鍵內容,但兩者都是在處理“啟動文件夾”之前

      除了本文記錄的寫注冊表方法之外,還可以在啟動文件夾存放快捷方式實現開機自啟,詳細請參閱 WPF 開發自動開機啟動程序

      本文代碼放在 githubgitee 上,可以使用如下命令行拉取代碼。我整個代碼倉庫比較龐大,使用以下命令行可以進行部分拉取,拉取速度比較快

      先創建一個空文件夾,接著使用命令行 cd 命令進入此空文件夾,在命令行里面輸入以下代碼,即可獲取到本文的代碼

      git init
      git remote add origin https://gitee.com/lindexi/lindexi_gd.git
      git pull origin e2a02a9aaa2148cc580cdbc91b92a5970d4b470f
      

      以上使用的是國內的 gitee 的源,如果 gitee 不能訪問,請替換為 github 的源。請在命令行繼續輸入以下代碼,將 gitee 源換成 github 源進行拉取代碼。如果依然拉取不到代碼,可以發郵件向我要代碼

      git remote remove origin
      git remote add origin https://github.com/lindexi/lindexi_gd.git
      git pull origin e2a02a9aaa2148cc580cdbc91b92a5970d4b470f
      

      獲取代碼之后,進入 Workbench/QeyeqawkayqaiWhonirikaywi 文件夾,即可獲取到源代碼

      posted @ 2025-10-21 07:05  lindexi  閱讀(79)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 香蕉久久精品日日躁夜夜躁夏| 国产亚洲av产精品亚洲| 国产蜜臀在线一区二区三区| 国产偷窥熟女高潮精品视频| 欧美v国产v亚洲v日韩九九| 乱码午夜-极品国产内射| 欧美人与动欧交视频| 国产99在线 | 欧美| 久久婷婷综合色一区二区| 国产精品一二三区蜜臀av| 人妻少妇久久中文字幕一区二区 | 一区二区三区精品视频免费播放 | 亚洲自拍偷拍中文字幕色| 国产精品久久久一区二区| 日本视频一两二两三区| 精品无码成人片一区二区| 国产精品日韩av在线播放| 97人妻蜜臀中文字幕| 性做久久久久久久久| 18禁动漫一区二区三区| 国产在线精品欧美日韩电影| 国产又色又爽又黄的视频在线| 亚洲一区二区三区自拍偷拍| 亚洲免费视频一区二区三区 | 亚洲av午夜福利精品一区二区| 斗六市| 国产裸体无遮挡免费精品| 日韩精品亚洲精品第一页| 天天躁夜夜躁av天天爽| 久热99热这里只有精品| 99久久婷婷国产综合精品青草漫画| 亚洲精品日韩在线丰满| 97久久综合亚洲色hezyo| 免费的特黄特色大片| 国产初高中生在线视频| 蜜臀久久99精品久久久久久| 日韩一区二区在线观看视频| 亚洲国产成人不卡高清麻豆| 在线a级毛片无码免费真人| 公天天吃我奶躁我的在线观看| 成人午夜视频在线|