簡體   English   中英

在啟動時啟動Windows窗體程序

[英]Launch Windows Form Program on Startup

我正在使用以下代碼在啟動時啟動程序:

RegistryKey rk = Registry.CurrentUser.OpenSubKey
    ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

    rk.SetValue(AppName, Application.ExecutablePath);

但是當運行我的項目時,此錯誤發生:

System.UnauthorizedAccessException:“試圖執行未經授權的操作。”

很久以前就有這個問題。

首先,您需要在HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run設置注冊表, 以確保您具有足夠的權限!

        using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
        {
            key.SetValue(AppName, Application.ExecutablePath);
        }

然后按照這篇文章中的步驟操作

  1. 將其添加到當前用戶的“啟動”文件夾中。 這要求您的應用程序運行所需的權限最少,並為用戶提供了最大的控制權和反饋。 不利的一面是,在下次用戶查看程序中的該屏幕時,確定是否顯示已選中的復選框要困難一些。
  2. 將其添加到HKey_Current_User\\Software\\Microsoft\\Windows\\CurrentVersion\\Run注冊表項。 唯一的問題是,它需要對注冊表的寫訪問權限,而該訪問權限並不總是可用。
  3. 創建在用戶登錄時觸發的計划任務
  4. 將其添加到HKey_Local_Machine\\Software\\Microsoft\\Windows\\CurrentVersion\\Run注冊表項。 唯一的問題是,它需要對注冊表的寫訪問權限,而該訪問權限並不總是可用。
  5. 將其設置為Windows服務。 僅在您確實要這樣做時才這樣做, 並且您確定要為計算機上的所有用戶運行此程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM