2010-08-30 38 views
4

如何配置C#程序在操作系統首次啓動時運行?如何配置C#程序在首次啓動操作系統時運行?

+2

什麼是你想建立?在你連續詢問的3個問題中: 1)如何在啓動時運行 2)如何強制以管理員身份運行 3)如何從用戶隱藏進程。 這種組合肯定會引起一些紅旗。你試圖解決什麼商業案例? – cdkMoose 2010-08-30 17:31:25

回答

4

添加到註冊表

private void AddToRegistry() 
     { 
      RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); 
      regKey.SetValue(Application.ProductName, Application.ExecutablePath); 
     } 
+1

每次執行此方法時都不會添加它嗎?你不應該只想做一次嗎? – 2010-08-30 12:11:04

+0

「每次執行此方法都不會添加它」 - 否,每次執行時,regKey.SetValue都會覆蓋該值。 – Joe 2010-08-30 12:51:21

+0

@George,是的,它在每次執行該方法時都將註冊表項添加到註冊表中,但如果您想確保用戶不刪除註冊表項,則「可能」是「bydesign」。它不創建新密鑰,只需更新密鑰(如果存在),並在密鑰不存在的情況下創建密鑰。如果你只在程序啓動時運行AddToRegistry,那麼它沒有問題。 (有些用戶可能會對程序重新創建密鑰感到憤怒,如果已經手動刪除它的話) – Stefan 2010-08-30 12:53:28

8

只需將程序添加到啓動文件夾中的開始菜單。

0

最簡單的答案是將其添加到啓動文件夾中的開始菜單。據我所知簡單地把它放在那裏應該有足夠的(因爲它只是一個小exe)。

13

如果您希望在用戶登錄到運行該程序,然後在「啓動」文件夾或運行註冊表鍵值的方法都工作。

如果您希望程序在打開計算機(即Windows啓動)時運行,而無需等待用戶登錄,則需要將其安裝爲service,並將其配置爲自動啓動。

1

我相信你將不得不到這個C#應用程序轉換爲Windows服務和其啓動類型設置爲自動。這似乎是大多數人使用的方法。

0

對於一個簡單的C#應用​​程序,把應用程序的.exe或它的快捷方式,在啓動文件夾是最簡單的方法。

要在一點點建立它更多,你可以把它添加到註冊表,在「SOFTWARE \微軟\的Windows \ CurrentVersion \」,那麼您需要的子項。欲瞭解更多關於註冊表方法的信息,請閱讀 - http://support.microsoft.com/kb/179365

根據您的應用程序,可能/不可能需要更復雜的方法,您可以將其創建爲服務,並將其設置爲自動運行。對於一個簡單的應用程序,這是不需要的,所以我不會在這一點上進一步擴展。

0

您可以將此程序作爲Windows服務進行開發。然後,您可以將其配置爲在發生故障或隨後的故障後重新啓動,從而提高魯棒性。只是一個想法...

0

我使用Inno Setup的我的安裝程序,並添加以下行會做到這一點:

Name: "{commonstartup}\YourFolder"; Filename: "{app}\YourApp.exe"; IconFilename: "{app}\YourApp.ico" 

也添加到您的[設置]部分

PrivilegesRequired=admin 

文檔http://www.jrsoftware.org/iskb.php?startup

相關問題