我尝试创建一个控制台应用程序,并使应用程序在启动时运行。 我找到了一些解决方案,但是它们使用外部dll文件(操作系统,在我的情况下是Windows)或者它们是指Windows Forms / WPF。我已经意识到Windows Forms应用程序的启动代码与Console Application的启动代码完全不同。 有人能帮我吗?我现在真的很困惑..
以下是我找到的代码:(在此网址上: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?
谢谢..
答案 0 :(得分:3)
Application.ExecutablePath
仅供Windows应用使用。要获取任何应用程序的执行程序集,请使用Assembly.GetExecutingAssembly().Location
:
RegistryKey rkApp = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkApp.SetValue("MyAPP", Assembly.GetExecutingAssembly().Location);
答案 1 :(得分:2)
你已经有了正确的解决方案。 .NET框架中的Registry
类不需要WinForms或WPF引用,因此您可以在控制台应用程序中自由使用它们,而不会使用不必要的引用乱丢您的项目。