0

可能重复:
使用 .net 和 c# 从任务栏中删除应用程序图标

我正在使用此代码将窗口应用程序表单图标添加到任务栏

 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 窗体 exe。

在 Windows 重新启动时,不会添加显示为 Windows 窗体应用程序的图标,但是当我重新启动 Windows 服务时它工作正常。这里有什么问题?

4

1 回答 1

0

这显然与登录(未登录)有关。这可以通过启用自动登录并确保在启动后显示图标来检查。通过 RDP 登录并点击不同的会话可能会发生同样的事情。我们有一些软件显示这样的图标,不得不使用“mstsc /console”。鉴于允许服务与桌面交互(即使以某种间接的方式)无论如何都是不受欢迎的,并且 winform 应用程序将在 Windows Server XXX 下拥有自己的桌面(不记得是哪个,但它与您将看到的不同)在 XP 中;尝试显示一个窗口并查看),我们使用了一个可作为完全非交互式服务或带有图标的 winforms 启动的应用程序(后者是手动或计划的)。

仍然不是一个完整的答案,但我希望它会帮助得到一个。

于 2012-05-14T09:09:58.207 回答