如何使用命令行参数最小化应用程序到系统托盘。
例如:当我使用这样的命令行打开我的应用程序时。 c:\ myfile.exe totray
我为此写了一些代码,但它从未奏效。static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length >0)
{
MessageBox.Show(args[0]);
}
Application.Run(new Form1());
}
这里的消息框显示我的参数“totray”。 所以我只是添加了像
这样的代码static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length >0)
{
// MessageBox.Show(args[0]);
if (args[0] == "totray") {
Form1 frm1 = new Form1();
frm1.Hide();
}
}
Application.Run(new Form1());
}
但这个想法不起作用。 是否有可能获得表格的参数? 我需要在这里写什么代码?
答案 0 :(得分:0)
Environment.CommandLine
包含在命令行上传递的参数
更好的Environment.GetCommandLineArgs()返回一个字符串数组,就像传递给main方法的字符串[] args一样,但第一个参数是可执行文件名。
不确定是否需要将代码移动到form_load事件或表单构造函数中。
答案 1 :(得分:0)
我建议将bool传递给Form
构造函数,然后根据它决定是否最小化。
将此构造函数添加到Form1
:
public Form1(bool minimize) : this()
{
if (minimize)
{
this.WindowState = FormWindowState.Minimized;
}
}
然后你可以像Main
这样叫它:
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args.Contains("totray")));
}
答案 2 :(得分:0)
您需要拨打-tray
parameter.see mozilla support command line parameter