如何在 Windows 启动时隐藏 C# 程序,但在正常打开程序时不隐藏?
How do I hide a C# program at Windows startup, but not when opening the program normally?
我有一个 (.NET) 程序可以在 Windows 启动时自动启动。但是,我不想显示主 GUI window(我会把它隐藏在托盘中)。
但是,我当然希望 window 在用户以正常方式从 taskbar/quicklaunch 打开程序时显示。
我可以使用什么代码来解决这个问题?
要添加我用来在 Windows 重启时加载程序的注册表项,代码如下:
RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
rk.SetValue(softwareName, Application.ExecutablePath.ToString());
当您在自动 运行 部分注册程序时,附加一个命令行键,例如/silent
.
在程序中,处理这个键可以隐藏自己。
只需在启动快捷方式或注册表的 运行 项中添加一个命令行参数,例如 /hidewindow
。
然后在 main(string[] args)
中检查是否 args.Any(a => a == "/hidewindow")
并且不要显示你的 window。
我有一个 (.NET) 程序可以在 Windows 启动时自动启动。但是,我不想显示主 GUI window(我会把它隐藏在托盘中)。
但是,我当然希望 window 在用户以正常方式从 taskbar/quicklaunch 打开程序时显示。
我可以使用什么代码来解决这个问题?
要添加我用来在 Windows 重启时加载程序的注册表项,代码如下:
RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
rk.SetValue(softwareName, Application.ExecutablePath.ToString());
当您在自动 运行 部分注册程序时,附加一个命令行键,例如/silent
.
在程序中,处理这个键可以隐藏自己。
只需在启动快捷方式或注册表的 运行 项中添加一个命令行参数,例如 /hidewindow
。
然后在 main(string[] args)
中检查是否 args.Any(a => a == "/hidewindow")
并且不要显示你的 window。