请问怎样使程序在最小化后图标放在任务栏的托盘上?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问怎样使程序在最小化后图标放在任务栏的托盘上?相关的知识,希望对你有一定的参考价值。

不要弄什么编程之类的,我不会编程,只是想隐藏游戏的任务栏图标,说简单点,但要清楚

现在借助Window
Minimizer这款小工具的帮忙便实现
以上操作了。软件下载完毕后进行解压,由于是绿色软件并不需安
装,双击应用程序图标运行Window
Minimizer,这时该软件程序图
标会显示在系统托盘区域中。如果想将某个任务栏窗口最小化到系
统托盘,可以直接在其窗口按钮上单击一下鼠标右键,然后在弹出
的菜单中选择最下方的“最小化到托盘区”一项命令就行了,此时该
窗口图标便移动到托盘中去了。以后如想将其恢到任务栏中,再用
鼠标左键在托盘中点击一下该窗口图标就可以了。
参考技术A 这个工具可以实现你说的功能,但是还可以直接把你最小化的程序图标隐藏!
PS
Tray
Factory是工具栏工具,拥有类似
Windows
XP
中“隐藏工具栏中非使用中的图标”的功能,也能够将低使用率的工具栏系统图标收集在它的选单之中
下载地址:
http://www.xdowns.com/soft/softdown.asp?softid=36135
参考技术B 自己重新安装过软件试试
看情况免得把电脑搞坏
参考技术C 小工具的帮忙便实现
楼上那一个都行
参考技术D 一般的应用程序都可以在选项里设置的
如果没有就说明不能放在托盘
游戏好像不能吧

Qt开发实现系统托盘,托盘菜单,托盘消息

概述

系统托盘就是在系统桌面底部特定的区域显示运行的程序。windows在任务栏状态区域,linux在布告栏区域。应用程序系统托盘功能,是比较普遍的功能,本篇将详细的介绍如何实现该功能。

 演示Demo实现功能:

1.应用启动后,任务栏,系统托盘可以看到该程序。

2.点击右上角×关闭窗口,自动隐藏窗口,托盘可以看到该程序。

3.鼠标在托盘图标上右键,弹出"退出程序"菜单栏,并带有图标。

步骤:

1.工程中新建TrayDialog类,基类是QDialog,在界面上添加Text Browser控件和提示信息。

技术图片

 

2.在TrayDialog.h头文件中添加#include <QtWidgets>包含文件

3.添加成员变量

    QSystemTrayIcon m_systray,

  信号槽响应函数

    int OnSystemTrayClicked(QSystemTrayIcon::ActivationReason reason);

    int OnExit();

  重写closeEvent(QCloseEvent *event)函数,完整代码如下:

#pragma once
#pragma execution_character_set("utf-8")

#include <QDialog>
#include <QtWidgets>
#include "ui_TrayDialog.h"

class TrayDialog : public QDialog
{
    Q_OBJECT

public:
    TrayDialog(QWidget *parent = Q_NULLPTR);
    ~TrayDialog();

private:
    void closeEvent(QCloseEvent *event);

private slots:
    int OnSystemTrayClicked(QSystemTrayIcon::ActivationReason reason);
    int OnExit();

private:
    Ui::TrayDialog ui;
    QSystemTrayIcon m_systray;
};

4.在Qt Designer中添加Action,用于托盘右键退出程序。

技术图片

 

5.构造函数TrayDialog(QWidget *parent)中添加如下代码:

    //设置提示文字
    m_systray.setToolTip("系统托盘演示程序");

    // 设置托盘图标
    m_systray.setIcon(QIcon(":/qtlearn/Resources/EXE.ico"));


    //托盘菜单项
    QMenu * menu = new QMenu();
    menu->addAction(ui.actionExit);
    m_systray.setContextMenu(menu);

    // 关联托盘事件
    connect(&m_systray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
        this, SLOT(OnSystemTrayClicked(QSystemTrayIcon::ActivationReason)));

    //显示托盘
    m_systray.show();

    //托盘菜单响应
    connect(ui.actionExit, SIGNAL(triggered()), this, SLOT(OnExit()));

 

6.关闭窗口事件响应函数

/************************************
@ Brief:        点击关闭窗口
@ Author:        woniu201 
@ Created:        2019/03/21
@ Return:            
************************************/
void TrayDialog::closeEvent(QCloseEvent *event)
{
    this->hide();
    event->ignore();
}

 

7.双击/单击托盘应用程序响应函数

/************************************
@ Brief:        双击/单击托盘事件
@ Author:        woniu201
@ Created:        2019/03/21
@ Return:
************************************/
int TrayDialog::OnSystemTrayClicked(QSystemTrayIcon::ActivationReason reason)
{
    if (reason == QSystemTrayIcon::Trigger
        || reason == QSystemTrayIcon::DoubleClick)
    {
        // 显示主窗口
        this->showNormal();
    }
    return 0;
}

8.托盘右键退出响应函数

/************************************
@ Brief:        托盘菜单退出
@ Author:        woniu201 
@ Created:        2019/03/21
@ Return:            
************************************/
int TrayDialog::OnExit()
{
    QApplication::exit(0);
    return 0;
}

 9.启动后效果如下

技术图片

 

 技术图片

 

以上是关于请问怎样使程序在最小化后图标放在任务栏的托盘上?的主要内容,如果未能解决你的问题,请参考以下文章

vc 如何实现关闭时最小化到托盘

如何把程序最小化到托盘图标

如何将delphi程序图标放入系统托盘中?

WinForm 之 窗口最小化到托盘及右键图标显示菜单

delphi 给程序加托盘图标

怎样让VB编写的程序打开后不在任务栏显示