日期:2014-05-19  浏览次数:20982 次

windows服务调用托盘应用程序无法显示托盘
我做了一个windows的服务,每次启动会运行一个Windows   form的托盘程序,系统开始后看不到托盘,而托盘程序单独运行是可以显示的。我上网查了下,有人说只要把服务设为能与桌面交互就行了,可是我的服务已经改为安装时就设置能与桌面交互了,但是托盘还是不出来啊...请高手帮忙

------解决方案--------------------
你可以看看http://www.codeproject.com/system/iconservice.asp,有完整的教程,還有Demo和源碼,應該能滿足你的需要,不懂再問。
------解决方案--------------------
http://www.codeproject.com/system/iconservice.asp

please have a look
------解决方案--------------------
using System.Runtime.InteropServices; //DllImport在该命名空间中;
//------------------------------------------------
[DllImport( "user32.dll ")]
private static extern bool IsIconic(IntPtr hWnd); //引入方法
private System.Windows.Forms.NotifyIcon HideIcon;//在该对象的可视化设计窗中设置Icon图标、Text提示信息;
//------------------------------------------------
//双击托盘图标事件
private void HideIcon_DoubleClick(object sender, System.EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
}
//------------------------------------------------
//调整窗口大小事件(最小化)
private void frmBTOnlEvlServer_Resize(object sender, System.EventArgs e)
{
if(IsIconic(this.Handle))
{
this.Visible = false;
}
}
//------------------------------------------------