我已經創建了一個應用程序,該應用程序有一個用於在Windows啓動時爲自動啓動在開始菜單上創建快捷方式的選項。 所有的作品,但我需要做一些事情,讓軟件以編程方式瞭解軟件是由Windows(自動)還是由用戶啓動。Windows上的C#應用程序自動啓動開始
現在我驗證如果快捷方式存在,但我想了解是否存在一些參數用於瞭解如果Windows運行程序與否。
我已經創建了一個應用程序,該應用程序有一個用於在Windows啓動時爲自動啓動在開始菜單上創建快捷方式的選項。 所有的作品,但我需要做一些事情,讓軟件以編程方式瞭解軟件是由Windows(自動)還是由用戶啓動。Windows上的C#應用程序自動啓動開始
現在我驗證如果快捷方式存在,但我想了解是否存在一些參數用於瞭解如果Windows運行程序與否。
在你的設置中,有計劃開始與爭論就像
myApp.exe autoStart
這樣,如果你的應用程序通過啓動或W開始/ E將有一個命令行參數,它可以檢查像
bool AutoStartMode = false;
//--somewhere near startup
var args = Environment.GetCommandLineArgs();
if (args != null && args.Any(arg => arg == "autoStart"))
{
AutoStartMode = true;
}
我推薦使用Run key in the registry爲您的自動啓動。您將在運行鍵下爲您的應用程序創建一個子密鑰。您的密鑰的值將成爲您的應用程序的路徑以及您希望使用的任何命令行參數。其中一個參數可能表示應用程序正在自動啓動。凱爾提供了一個如何檢查特定命令行參數的例子。
儘管你的選擇聽起來可行我討厭與註冊表工作,因爲不同的PC /組策略設置的權限不同,@Kyle Golble的方法是優雅的,沒有檢查的權限。這只是我的意見.... –
你可能傳入一個命令行參數。不能保證,但用戶無法弄清楚並執行相同的操作。 – jordanhill123