首页 新闻 会员 周边

怎么改变另外一个程序在系统托盘里的图标或者tips?

0
悬赏园豆:50 [已关闭问题]

场景描述:
1. 应用程序A,应用程序B和应用程序C(我的程序).
2. 运行应用程序C启动A,B.

问题:
1. 程序C启动B时,需要更改B程序的Title.这个我已经用

Code

给改过来了。
2. 但是C启动程序启动的时候,会在系统托盘里加载一个图标。当鼠标移上这个图标会有一个tips。我想改变这个tips。查了一些资料,一般都说用Shell_NotifyIcon来实现,但是我一直没能成功实现。

Code

我用的是C#代码,想用C#实现。哪位高手帮帮忙,谢谢!

痴鸟的主页 痴鸟 | 初学一级 | 园豆:150
提问于:2009-03-11 08:30
< >
分享
其他回答(2)
0

这个有点麻烦吧?postmessage...

波波塔 | 园豆:638 (小虾三级) | 2009-03-11 09:11
0

如果程序都可以修改的话,可采用进程通信的方式来实现处理。

如果要改变托盘图标的程序不能修改的话,那就用hook吧。

5yplan | 园豆:1330 (小虾三级) | 2009-03-11 09:31
0

  private Icon mNetTrayIcon=null;
  private NotifyIcon trayIcon;

  public xxForm()
  {
   //
   // Windows 窗体设计器支持所必需的
   //
   InitializeComponent();
   //托盘初始化
   this.TrayInit();

   //
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
  }

  private void TrayInit()
  {
   this.IcoInit();
   this.HideMainForm();
  }

  private void IcoInit()
  {
   mNetTrayIcon=new Icon("wmiinstance.ico");
   trayIcon=new NotifyIcon();
   trayIcon.Icon=mNetTrayIcon;
   trayIcon.DoubleClick+=new EventHandler(trayIcon_DoubleClick);
   trayIcon.Text="数锐简历处理应用程序";
   trayIcon.ContextMenu=TrayMenu;
   trayIcon.Visible=true;
  }

  public void HideMainForm()
  {
   this.ShowInTaskbar = false;
   this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
   this.Hide();
  }

阿幸 | 园豆:60 (初学一级) | 2009-03-11 11:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册