设置一个软件的系统托盘

这两天正好做练习,碰到将一个小软件做出可使用托盘的,于是将这一部分随手记录下来

(框体继承JFrame)

PopupMenu popup = new PopupMenu();//定义弹出菜单

//定义SystemTray成员变量
    SystemTray tray;
    //定义TrayIcon成员变量
    TrayIcon trayIcon;

//判断当前操作系统是否支持系统托盘
        if (SystemTray.isSupported())
        {
            //得到系统托盘
            tray = SystemTray.getSystemTray();
            //加载图像
            Image image = Toolkit.getDefaultToolkit().getImage("img/icon.gif");
            //创建TrayIcon对象得到系统托盘
            trayIcon = new TrayIcon(image, "提示信息", popup);
            //设置系统托盘图标自动设置尺寸
            trayIcon.setImageAutoSize(true);
            try
            {
                //将托盘图标设置系统托盘中
                tray.add(trayIcon);
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            //为托盘图标注册监听器
            trayIcon.addActionListener(this);
        }

public void actionPerformed(ActionEvent e)
{

  if (e.getSource==trayIcon){

    //双击托盘图标执行的代码
            //将窗体按原来的方式显示出来

    this.show(true);

  }

}

时间: 2024-10-09 04:05:42

设置一个软件的系统托盘的相关文章

C#Winform将软件最小化至系统托盘

最近做了一个关于软件最小化到托盘里的功能,对此做了一点小小的总结,关于如何将软件最小化托盘里,并且点击对应小图标会有许多可供选择的菜单,其实主要用的控件是就NotifyIcon控件与contextMenuStrip控件的结合使用,利用contextMenuStrip控件添加对应的菜单以及菜单对应的功能. 第一步:首先介绍一下NotifyIcon控件的属性: BalloonTipIcon -- 气泡提示的类型,有None(无).Info(蓝色感叹号).Warnning(黄色感叹号).Error(小

系统托盘

为程序添加系统托盘1:创建菜单资源 ID: IDR_MENU_NOTIFY2:添加子菜单 显示 IDM_NOTIFY_SHOW 退出 IDM_NOTIFY_CLOSE 3:查看MSDN Shell_NotifyIcon BOOL Shell_NotifyIcon( //向系统托盘中加入图标 DWORD dwMessage, //状态 PNOTIFYICONDATA lpdata //含有图标 消息响应 的一个结构体); 4:认识NOTIFYICONDATA 结构体: typedef struct

【Qt编程】系统托盘的显示

本文主要讨论Qt中的系统托盘的设置.系统托盘想必大家都不陌生,最常用的就是QQ.系统托盘以简单.小巧的形式能让人们较快的打开软件.废话不多说,下面开始具体介绍. 首先,新建一个Qt Gui项目,类型选择QMainWindow,类名也选择默认的mainwindow.这时,工程项目中就有3个文件(界面文件不用管):mainwindow.h mainwindow.cpp main.cpp.然后,分别修改3个文件如下: 1.mainwindow.h #ifndef MAINWINDOW_H #defin

Qt实现系统托盘

        平时大多数看到的软件都是带系统托盘的,这样软件可以在后台运行,挺好的.今天看了下Qt自带的demon,中间有参考了下,实现了这个小小的功能,就将这个功能添加到了自己之前的一个项目中,效果蛮好的.界面如下所示: 右击系统托盘就会显示当前设定的各个菜单功能: 怎么样,效果还好吧.实现这个小功能厅满意的.右键点击弹出的菜单可以自行设定所需的.另外可以设定鼠标单击.双击.中间键分别按下时所触发的动作.主要代码如下所示: 1.首先需要添加头文件,Qsystem/trayIcon类.QMen

一个软件实现的Linux看门狗—soft_wdt

soft_wdt(下面简称本软件)是一个软件实现的Linux看门狗. 本软件是一款开源.免费软件. 下载地址: https://github.com/sunmingbao/soft-wdt/archive/master.zip 本软件和/drivers/watchdog/softdog.c实现的软件看门狗差点儿一样. 基本的不同点是,前者支持一个看门狗.本软件则支持大量的看门狗. soft_wdt代码编译后.生成一个内核模块soft_wdt.ko. 模块载入后,将创建一个设备文件/dev/sof

Qt系统托盘

Qt的系统托盘的使用,可比mfc中好多了!他封装了一个专门的QSystemTrayIcon类,建立系统托盘图标.其实在Qt提供的示例程序已经很不错了,$QTDIR\examples\desktop\systray在这里简单的实现一个系统托盘功能,对其系统托盘类的使用做以演示. #include <QtGui>class Window: public QWidget{    Q_OBJECT        public:    Window(); private:    void showMes

Delphi 7下最小化到系统托盘(主要是WM_TRAYMSG和WM_SYSCOMMAND消息)

在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi

服务程序增加系统托盘

服务程序增加系统托盘 用Delphi创建服务程序作者:未知 文章来源:岁月联盟 Windows 2000/XP和2003等支持一种叫做"服务程序"的东西.程序作为服务启动有以下几个好处:(1)不用登陆进系统即可运行.(2)具有SYSTEM特权.所以你在进程管理器里面是无法结束它的.笔者在2003年为一公司开发机顶盒项目的时候,曾经写过课件上传和媒体服务,下面就介绍一下如何用Delphi7创建一个Service程序.运行Delphi7,选择菜单File-->New-->Oth

Windows Phone 7编程学习点滴二——设备方向、系统主题和系统托盘

1 有两种方式可以改变设备的方向: (1) 将SupportedOrientation设置为“PortraitOrLandscape”让操作系统为你实现. (2) 是通过代码实现: OrientationChanged 事件. 1 this.OrientationChanged += new EventHandler<OrientationChangedEventArgs>(MainPage_OrientationChanged); 1 void MainPage_OrientationCha