1

我试图创建一个控制台应用程序,并使应用程序在启动时运行。我找到了一些解决方案,但它们使用外部 dll 文件(操作系统,在我的情况下 - Windows)或者它们指的是 Windows Forms / WPF。我已经意识到 Windows 窗体应用程序的启动代码与控制台应用程序的启动代码有很大不同。有人可以帮助我吗?我现在真的很迷茫。。

这是我找到的代码:(在此网址上:如何在 Windows 启动时运行 C# 应用程序?

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

如何为控制台应用程序执行此操作,代码与此类似,并且不使用外部 dll?

谢谢..

4

2 回答 2

4

Application.ExecutablePath仅由 Windows 应用程序使用。要获取任何应用程序的执行程序集,请使用Assembly.GetExecutingAssembly().Location

RegistryKey rkApp = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkApp.SetValue("MyAPP", Assembly.GetExecutingAssembly().Location);
于 2013-06-26T17:18:20.973 回答
2

您已经找到了正确的解决方案。.NET 框架中的Registry类不需要 WinForms 或 WPF 引用,因此您可以在控制台应用程序中自由使用它们,而不会在您的项目中添加不必要的引用。

于 2013-06-26T17:05:08.007 回答