0

コマンドライン引数を使用して、システムトレイへのアプリケーションを最小限に抑えるにはどうすればよいですか。

例:このようなコマンドラインを使用してアプリケーションを開いたとき。c:\myfile.exeトトレイ

そのためのコードをいくつか書きましたが、うまくいきませんでした。

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());

        }

しかし、このアイデアは機能していません。フォームへの引数を取得することは可能ですか?ここにどのコードを書く必要がありますか?

4

3 に答える 3

0

Environment.CommandLineコマンドラインで渡される引数が含まれます。mainメソッドに渡されるstring[]argsのような文字列配列を返す
BetterEnvironment.GetCommandLineArgs () 。ただし、最初の引数は実行可能ファイル名です。

コードをform_loadイベントに移動する必要があるのか​​、フォームコンストラクターに移動する必要があるのか​​わからない。

MSDN参照

于 2012-07-28T15:29:06.900 に答える
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")));
}
于 2012-07-28T15:37:49.747 に答える
0

-trayパラメータを呼び出す必要があります。mozillaサポートコマンドラインパラメータを参照してください。

于 2013-03-31T19:09:33.767 に答える