一、示例使用VBScript創建啟動文件,並添加到Windows系統的啟動目錄
默認情況下
所有用戶啟動目錄:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
當前用戶的啟動目錄:C:\Users\【用戶】\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
1.創建VBScript文件,指定后台啟動exe可執行文件,命名為"xxx.vbs"。
注:雙擊vbs文件就可以后台啟動exe文件了
set wscriptObj = CreateObject("Wscript.Shell") wscriptObj.run "C:\Users\HK\Desktop\HKServerEditVersion2.4\Debug\HKServer.exe",0
2.將VBScript文件手動移動到系統的啟動文件夾
把.vbs文件(或者它的快捷方式)直接復制到 開始-->所有程序-->啟動 文件夾下。
兩個啟動目錄都可以,只是針對的用戶范圍不同。
注:
1.移動文件的時候很多時候,需要管理員權限,點擊允許就行了。
2.如果是快捷方式,可以沒有擴展名。
二、在代碼中自動創建開機啟動文件處理
注意:
1.追加腳本內容,需要指定為默認編碼
2.如果需要以管理員身份啟動或者將啟動設置為所有的本地用戶,需要移動到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,
使用注冊表獲取目錄的之后個目錄需要為LocalMachine。
3.關於程序以管理員身份運行參考:C#如何以管理員身份運行程序(轉)
class Program { static void Main(string[] args) { Console.WriteLine("Hello world"); Console.WriteLine(DateTime.Now); CreateStartup(); Log("程序啟動成功"); Task.Factory.StartNew(() => { while (true) { Log($"時間:{DateTime.Now}"); Thread.Sleep(1000); } }); Console.Read(); } //記入日志 static void Log(string content) { //日志記錄到桌面 string path = LocalPathHelper.DesktopPath + "\\data.txt"; if (File.Exists(path) == false) { File.Create(path).Close(); } File.AppendAllText(path, $"{content}\r\n", Encoding.Default); } /// <summary> /// 為當前程序創建后台啟動文件到 開機啟動文件夾 /// </summary> static void CreateStartup() { /** * 創建文件到了當前用戶的啟動文件夾 */ //C:\Users\tianma\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Console1.vbs //使用本地的啟動文件夾 //如果想移動到這個目錄需要的操作: //1.當前程序以管理員身份運行 //2.獲取的注冊表的根節點設置為LocalMachine //C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\Console1.vbs string path = LocalPathHelper.StartupPath + "\\Console1.vbs"; if (File.Exists(path) == false) { File.Create(path).Close(); StringBuilder str = new StringBuilder(); str.AppendLine("set wscriptObj = CreateObject(\"Wscript.Shell\")"); str.AppendLine("wscriptObj.run \"" + LocalPathHelper.CurrentProgramPath + "\\Console1.exe\",0"); str.AppendLine(); //需要指定編碼,不然無法運行命令 File.AppendAllText(path, str.ToString(), Encoding.Default); } } }
三、如果需要一管理員的身份運行的程序,程序啟動時都需要授權,重啟后也是。
更多: