[英]Unable to open sqlite database file when program launch at windows startup
[英]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);
}
- 將其添加到當前用戶的“啟動”文件夾中。 這要求您的應用程序運行所需的權限最少,並為用戶提供了最大的控制權和反饋。 不利的一面是,在下次用戶查看程序中的該屏幕時,確定是否顯示已選中的復選框要困難一些。
- 將其添加到
HKey_Current_User\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
注冊表項。 唯一的問題是,它需要對注冊表的寫訪問權限,而該訪問權限並不總是可用。- 創建在用戶登錄時觸發的計划任務
- 將其添加到
HKey_Local_Machine\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
注冊表項。 唯一的問題是,它需要對注冊表的寫訪問權限,而該訪問權限並不總是可用。- 將其設置為Windows服務。 僅在您確實要這樣做時才這樣做, 並且您確定要為計算機上的所有用戶運行此程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.