0

重複の可能性:
C#で.netを使用して、タスクバーからアプリケーションアイコンを削除します

このコードを使用して、タスクバーにウィンドウ アプリケーション フォーム アイコンを追加しています

 ResourceManager resManager = new ResourceManager("SMSLAgent.Properties.Resources", GetType().Module.Assembly);
                notifyicon.Icon = (Icon)resManager.GetObject("SMSLAgent");
                notifyicon.Visible = true;
                notifyicon.Text = "PA Agent";
                this.Hide();
                this.ShowInTaskbar = false;
                this.SetVisibleCore(false);

このコードは、asp.net Windows フォーム アプリケーションの初期化メソッドに追加されます。それは機能しますが、問題は、windows7で管理者権限を持つwindowsサービスを使用してwindows form exeを実行していることです。

Windows を再起動すると、Windows フォーム アプリケーションとして表示されるアイコンが追加されませんが、Windows サービスを再起動すると正常に動作します。ここで何が問題なのですか?

4

1 に答える 1

0

これは、ログインしている (いない) ことと関係があるようです。これは、自動ログインを有効にして、起動後にアイコンを表示することで確認できます。RDP 経由でログインして別のセッションにアクセスした場合も、同じことが起こる可能性があります。このようなアイコンを表示するソフトウェアがあり、「mstsc /console」を使用する必要がありました。サービスがデスクトップとやり取りできるようにすることは (多少間接的な方法であっても) とにかく眉をひそめ、winform アプリは Windows Server XXX の下に独自のデスクトップのようなものを持っていることを考えると (どちらか覚えていませんが、表示されるものとは異なります) XPでは;ウィンドウを表示して見てください)、完全に非対話型のサービスまたはアイコン付きのwinforms(後者は手動またはスケジュール済み)として起動可能なアプリケーションを使用しました。

まだ完全な答えではありませんが、答えを得るのに役立つことを願っています。

于 2012-05-14T09:09:58.207 に答える