想让wpf Window应用在启动后不显示在TaskBar,只显示为SystemTray Icon,点击icon后显示主界面。怎么实现啊?
想让wpf   Window应用在启动后不显示在TaskBar,只显示为SystemTray   Icon,点击icon后显示主界面。怎么实现啊?
------解决方案--------------------没有用过wpf
------解决方案--------------------Window类有个ShowInTaskbar属性
------解决方案--------------------窗体的ShowInTaskbar=false,WindowState=Minimized 
 添加Notifyicon控件,并指定一Icon值
------解决方案--------------------wpf  好象是N年前我用过的那个文字处理的软件吧?   
 对这类你不能控制源代码的程序可以用 API 找到它的Windows Handler,然后向它的窗口发消息,让它不在Task Bar里边显示.但这些都不是纯.NET的手法.
------解决方案--------------------我发一下代码,这是从网上找的,已经经过我测试了,你可以修改后生成一个类库,然后在你的程序中引用。现在这段代码可以直接编译,只要找一个icon图标。 
 using System ; 
 using System.Drawing ; 
 using System.Collections ; 
 using System.ComponentModel ; 
 using System.Windows.Forms ; 
 using System.Data ; 
 //导入在程序中使用到的名称空间 
 public class Tray : Form 
 { 
  private System.ComponentModel.Container components = null ; 
  private Icon mNetTrayIcon = new Icon (  "sun.ico " ) ; 
  private NotifyIcon TrayIcon ; 
  private ContextMenu notifyiconMnu ;   
  public Tray() 
  { 
   //初始化窗体中使用到的组件 
   InitializeComponent ( ) ; 
   //初始化托盘程序的各个要素 
   Initializenotifyicon ( ) ; 
  }   
 private void Initializenotifyicon ( )  
 { 
  //设定托盘程序的各个属性 
  TrayIcon = new NotifyIcon ( ) ; 
  TrayIcon.Icon = mNetTrayIcon ; 
  TrayIcon.Text =  "用Visual C#做托盘程序 " +  "\n " +  "作者:llg于2007 " ; 
  TrayIcon.Visible = true ;  
  TrayIcon.Click += new System.EventHandler ( this.click ) ;   
  //定义一个MenuItem数组,并把此数组同时赋值给ContextMenu对象 
  MenuItem [ ] mnuItms = new MenuItem [ 3 ] ; 
  mnuItms [ 0 ] = new MenuItem ( ) ; 
  mnuItms [ 0 ] .Text =  "用Visual C#做托盘程序! " ; 
  mnuItms [ 0 ] .Click += new System.EventHandler ( this.showmessage ) ;   
  mnuItms [ 1 ] = new MenuItem (  "- " ) ;   
  mnuItms [ 2 ] = new MenuItem ( ) ; 
  mnuItms [ 2 ] .Text =  "退出系统 " ; 
  mnuItms [ 2 ] .Click += new System.EventHandler ( this.ExitSelect ) ; 
  mnuItms [ 2 ] .DefaultItem = true ;   
  notifyiconMnu = new ContextMenu ( mnuItms ) ; 
  TrayIcon.ContextMenu = notifyiconMnu ; 
  //为托盘程序加入设定好的ContextMenu对象 
 } 
 public void click ( object sender , System.EventArgs e ) 
 { 
  MessageBox.Show (  "Visual C#编写托盘程序中的事件响应 " ) ; 
 }   
 public void showmessage ( object sender , System.EventArgs e ) 
 { 
  MessageBox.Show (  "你点击了菜单的第一个选项 " ) ; 
 }   
 public void ExitSelect ( object sender , System.EventArgs e ) 
 { 
  //隐藏托盘程序中的图标 
  TrayIcon.Visible = false ; 
  //关闭系统 
  this.Close ( ) ; 
 } 
 //清除程序中使用过的资源 
 public  void Disposem ( ) 
 { 
  base.Dispose ( ) ; 
  if ( components != null ) 
   components.Dispose ( ) ; 
 }   
 private void InitializeComponent ( ) 
 { 
  this.SuspendLayout ( ) ; 
  this.AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ; 
  this.ClientSize = new System.Drawing.Size ( 320 , 56 ) ; 
  this.ControlBox = false ; 
  this.MaximizeBox = false ; 
  this.MinimizeBox = false ; 
  this.WindowState = System.Windows.Forms.FormWindowState.Minimized ;   
  this.Name =  "tray " ; 
  this.ShowInTaskbar = false ; 
  this.Text =  "用Visual C#做托盘程序! " ; 
  this.ResumeLayout ( false ) ;   
 } 
 static void Main ( )  
 { 
  Application.Run ( new Tray ( ) ) ;