0

私は正常に実行しているウィンドウで実行する必要があるアプリケーションを持っていますが、システムトレイで起動する必要がありますが、これはユーザーがデスクトップアイコンから起動したときにも発生します。

私が今直面している問題は、起動時にトレイに消えることなくユーザーがアプリケーションを開くことができるようにしながら、起動時にトレイで起動することです。

c:\program.exe -h のような起動キーの起動スイッチと、トレイでアプリケーションを起動する -h を使用して、これが達成されるのを見てきました。

このような可能性はありますか、それとも別の方法がありますか?

1日の最初の起動時に変更されるレジストリキーなどを検討しましたが、コンピューターをシャットダウンして再度電源を入れると、上記のような障害が発生する可能性があります。スタートアップ用に別のアプリケーションを作成する以外に、これを実現する方法がわかりません。

注意: アプリケーションは終了する可能性があるため、既存のプロセスをチェックし、見つかった場合は最大化するなどの処理を行うと、他の問題が発生する可能性があります。一度に実行できるインスタンスは 1 つだけなので、これもある程度行われていますが、前述のように、最初の実行時にトレイに起動することができますが、終了して再度起動すると、再びトレイに移動します。避けたい。

4

2 に答える 2

0

C#によって回答されました-パラメータを使用してコマンドラインから実行できるWindowsフォームアプリケーションを作成することは可能ですか?ハンス・パッサントがコンマラインオプションを使用して言ったこと。

これは、Program.csクラスに配置したコードです。

[STAThread]
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Main_Form main = new Main_Form();
            main.Show();
            foreach (string s in args)
            {
                if (s == "-h")
                {
                    main.Hide();
                }
            }
            Application.Run();
        }

起動時にフォームを非表示から適応したコードのセット

于 2012-11-17T20:57:23.870 に答える
0

アプリケーションには、以下のレジストリにエントリが必要です。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

c# を使用して登録キーを記述する方法

Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();
于 2012-11-17T11:55:55.650 に答える