2013-06-26 645 views
1

我試着創建一個控制檯應用程序,並使應用程序在啓動時運行。 我發現了一些解決方案,但他們使用外部的dll文件(操作系統,在我的情況下 - Windows)或他們指的是Windows窗體/ WPF。我意識到Windows窗體應用程序的啓動代碼與控制檯應用程序的啓動代碼有很大不同.. 有人能幫助我嗎?我現在真的迷茫..如何在啓動時啓動控制檯應用程序(!)? C#

這是我發現的代碼:(此網址:How to run a C# application at Windows startup?

RegistryKey rkApp = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 
rkApp.SetValue("MyAPP", Application.ExecutablePath.ToString()); 

我如何做這個動作控制檯應用程序,用代碼,這將是類似於此,而不使用外部DLL?

謝謝..

回答

2

您已經找到了正確的解決方案。 .NET框架中的Registry類不需要WinForms或WPF引用,因此您可以在控制檯應用程序中自由使用它們,而不用亂動您的項目中不必要的引用。

+0

但是當我試圖在我的代碼使用此,它給了我一個錯誤的部分「Application.ExecutablePath.ToString()」中的第二行..爲什麼會發生這種情況? – Aviv

+1

@Aviv你從來沒有在你的原始問題中提到過,編輯你的問題,請包括這些信息,以及錯誤在你的帖子中說了些什麼。 –

+0

請嘗試使用Assembly.GetEntryAssembly() –

3

Application.ExecutablePath僅供Windows應用程序使用。爲了得到任何應用程序的執行程序集,使用Assembly.GetExecutingAssembly().Location

RegistryKey rkApp = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); 
rkApp.SetValue("MyAPP", Assembly.GetExecutingAssembly().Location); 
相關問題