将程序图标加到任务栏中的程序代码!

本文提供了使用VBA在任务栏创建和管理托盘图标的示例代码,包括添加、删除图标,设置提示文字,以及响应图标点击事件。通过这些代码,可以实现窗体最小化到任务栏托盘区并处理用户交互。
摘要由CSDN通过智能技术生成

一个模块:

Option Explicit

Public OldWindowProc As Long
Public TheForm As Form
Public TheMenu As Menu

Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

'判断窗口是否最小化
Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long

Private Const WM_USER = &H400
Private Const WM_LBUTTONUP = &H202
Private Const WM_MBUTTONUP = &H208
Private Const WM_RBUTTONUP = &H205
Private Const TRAY_CALLBACK = (WM_USER + 1001&)
Private Const GWL_WNDPROC = (-4)
Private Const GWL_USERDATA = (-21)
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const NIM_ADD = &H0
Private Const NIF_MESSAGE = &H1
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2

'记录 设置托盘图标的数据 的数据类型NOTIFYICONDATA
Public Ty

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Qt,可以通过在程序的窗口类重写`void changeEvent(QEvent *event)`函数,并在其判断事件类型为窗口状态改变事件(`event->type() == QEvent::WindowStateChange`),然后设置窗口图标,从而实现程序任务栏图标设置。具体步骤如下: 1. 在窗口类头文件添加`QIcon m_icon;`成员变量,用于存储程序图标。 2. 在窗口类的构造函数初始化`m_icon`成员变量,代码如下: ``` // 构造函数 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { // 设置程序图标 m_icon = QIcon(":/images/icon.png"); setWindowIcon(m_icon); } ``` 注意,这里的`:images/icon.png`是指程序图标程序资源文件的路径。如果程序没有资源文件,也可以直接使用文件路径来初始化`QIcon`对象。 3. 在窗口类重写`void changeEvent(QEvent *event)`函数,并在其判断事件类型为窗口状态改变事件,代码如下: ``` // 窗口状态改变事件处理函数 void MainWindow::changeEvent(QEvent *event) { if (event->type() == QEvent::WindowStateChange) { if (windowState() & Qt::WindowMinimized) { // 窗口最小化时设置任务栏图标 setWindowIcon(m_icon); } else { // 恢复窗口时恢复窗口图标 setWindowIcon(QIcon()); } } QMainWindow::changeEvent(event); } ``` 这里通过判断窗口状态是否为最小化来设置任务栏图标和恢复窗口图标。当窗口最小化时,将程序图标设置为任务栏图标;当窗口恢复时,将窗口图标恢复为默认图标。 这样,就可以实现程序任务栏图标设置了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值