【发布时间】:2018-06-22 08:46:33
【问题描述】:
我想启动一个应用程序是否最小化,这取决于它是由系统在启动时启动 (Windows) 还是由用户启动(双击它)而不是最小化。
到目前为止,我已经制作了一个转换器程序,它将在 Windows 启动时打开。我已经成功地使用了它。
RegistryKey rk = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rk.SetValue("MyApplicationName", Application.ExecutablePath);
rk.Close();
rk.Dispose();
我只是将这些代码用于启动。我不检查它是否已经在 regedit 中,因为如果它已经存在,它就不会添加。在我将这些代码设置到我的程序后,我重新启动了我的计算机,我的程序在启动时出现了,但它像正常启动一样出现在我的屏幕中心。我可以检查我的程序是否在启动时由 Windows 启动并将其设置为启动吗?通常,如果我单击右上角的“x”,我的程序会将自身隐藏到系统托盘中。我必须右键单击->退出才能真正关闭我的程序。
我的问题是:有什么方法可以检查系统(Windows)或用户是如何启动的?
【问题讨论】:
-
为您的程序创建一个快捷方式,一个 .lnk 文件。这使您可以将 Run 属性设置为“最小化”。而是在注册表项中启动该 .lnk 文件。使用命令行参数将是另一种方式。
-
要在注册表项中获取参数,您应该查看:stackoverflow.com/questions/15123421/…