//***********************************************************
//函数名称 : ToTray
//函数功能 : 最小化到系统托盘
//输入参数 :
//输出参数 :
//返回代码 :
//***********************************************************
//本地注释 :
//***********************************************************
void CBackupUIDlg::ToTray()
{
nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA);// 结构的长度,用“位”来做单位。
nid.hWnd = this->m_hWnd;//消息传送的窗口句柄
nid.uID = IDR_MAINFRAME;//在工程中定义的图标ID
nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
_tcscpy_s(nid.szTip,sizeof(nid.szTip)+1,_T("备份客户端"));//信息提示条为“备份客户端”
Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标
ShowWindow(SW_HIDE);//隐藏主窗口
}
//**************************************************************
//函数名称 : onShowTask
//函数功能 : 托盘事件回调函数
//输入参数 :
//输出参数 :
//返回代码 :
//**************************************************************
//本地注释 :
//**************************************************************
LRESULT CBackupUIDlg::onShowTask(WPARAM wParam,LPARAM lParam)
{
if(wParam!=IDR_MAINFRAME) return 1;
switch(lParam)
{
case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭”
{
LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到鼠标位置
CMenu menu;
//载入事先定义的菜单
VERIFY(menu.LoadMenu(IDR_MENU_TRAY));
CMenu *pMenu = (CMenu *)(menu.GetSubMenu(0));
ASSERT(pMenu != NULL);
//确定弹出式菜单的位置
pMenu->TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this);
//资源回收
HMENU hmenu=menu.Detach();
menu.DestroyMenu(); delete lpoint;
}
break;
case WM_LBUTTONDBLCLK://双击左键的处理
{
this->ShowWindow(SW_SHOW);//简单的显示主窗口完事儿
}
break;
}
return 0;
}
/*********************************************/
/* 最小化到托盘后点击右键退出 */
/*********************************************/
void CBackupUIDlg::OnExit()
{
::PostQuitMessage(0);
}
分享到:
相关推荐
实现"PB最小化到托盘"的功能,开发者需要编写特定的代码来处理这个行为。在PowerBuilder中,可以通过自定义事件和处理程序来实现这一目标。以下是一般步骤: 1. **创建自定义事件**:在PowerBuilder中,你需要创建...
标题中的“最小化窗口到右下角托盘的程序”是指一种特殊类型的计算机软件,它允许用户将应用程序的窗口最小化到系统任务栏的通知区域,也就是我们常说的“托盘区”。这种功能常见于需要后台运行或者不希望频繁出现在...
在本文中,我们将深入探讨如何利用JS实现在Internet Explorer(IE)浏览器最小化时,在桌面右下角弹窗显示信息的技术。 首先,我们需要理解浏览器的工作原理。当用户将IE浏览器最小化时,窗口并不会完全消失,而是...
在创建WinForm应用时,有时我们需要让窗口显示在屏幕的右下角,并支持最小化和最大化操作。本篇文章将详细讲解如何实现这个功能。 首先,我们需要创建一个WinForm项目。在Visual Studio中,选择“新建项目”,然后...
以上就是使用C++编程实现在程序最小化时将其图标移至桌面右下角系统托盘的基本步骤。这涉及到Windows API的使用,包括`Shell_NotifyIcon`函数来管理和显示托盘图标,以及`CreatePopupMenu`、`TrackPopupMenu`等函数...
标题“VB---vb最小化到右下角托盘”指的就是如何使用VB来实现这个功能。下面将详细解释这一知识点。 首先,系统托盘是Windows操作系统任务栏右侧的一个区域,通常包含各种应用程序的小图标,如音量控制器、网络连接...
标题中的“PB最小化到托盘以及右键菜单”指的是在使用PowerBuilder(PB)开发的应用程序中,实现一个功能,使得程序窗口可以被最小化到操作系统任务栏的托盘区域,并且在托盘图标上提供右键菜单,增强用户交互体验。...
在LabVIEW中实现程序最小化到系统托盘是一项常见的需求,特别是对于那些需要在后台运行或者不希望频繁占据桌面空间的应用来说。系统托盘,也称为通知区域,位于Windows操作系统的任务栏右下角,是放置应用程序图标的...
在VB(Visual Basic)编程环境中,创建一个能够最小化到任务栏右下角的托盘程序是一项常见的需求。这样的功能可以提升用户体验,因为用户可以轻松访问应用程序而不必将其保留在主屏幕上。本教程将深入讲解如何实现这...
在本文中,我们将深入探讨如何使用C#编程语言创建一个托盘程序,使其能够最小化到系统托盘区域,并允许自定义图标。这个程序的核心功能是利用Windows Forms(WinForm)框架来实现这一特性。 首先,我们需要理解...
在VB6(Visual Basic 6)编程环境中,开发者经常需要实现一种功能,即当用户点击程序窗口的最小化按钮时,程序不会完全隐藏而是缩小到系统托盘区域。这种功能可以提供更好的用户体验,使得程序在后台继续运行,而...
在VB(Visual Basic)编程中,将窗口最小化到系统托盘是一项常见的需求,它可以使应用程序在用户按下最小化按钮时,不从任务栏消失而是转换为托盘图标,这样可以保持程序运行并提供一种非干扰式的用户体验。...
### MFC实现对话框程序最小化到托盘 #### 一、引言 在Windows桌面应用程序开发中,经常需要让程序能够最小化到系统托盘(通知区域),以节省任务栏空间并保持用户桌面整洁。本文详细介绍如何使用Microsoft ...
总之,"任何窗口最小化到托盘"是一项增强窗口管理功能的技术,它需要对Windows API有深入理解,通过编程实现窗口消息的拦截和处理,以及托盘图标的创建和管理。对于用户而言,这是一个实用的功能,可以帮助他们更...
本项目名为"C# 仿qq右下角显示程序图标",其目标是模仿QQ应用程序的托盘图标功能,使程序在最小化时能在系统托盘区域继续显示,并提供相应的交互操作。 首先,我们需要了解什么是系统托盘。系统托盘,通常位于...
在C#编程中,开发一个简单的时钟和倒计时应用,并实现窗口在屏幕右下角自动停靠,以及在任务栏通知区域显示图标和菜单,是常见的桌面应用设计。以下将详细介绍这些功能的实现方法。 1. **窗口自动停靠**: - 在C#...
这个程序描述的是一个使用PowerBuilder编写的托盘程序,它可以在被最小化后,将其图标隐藏到操作系统任务栏的右下角通知区域,也就是我们常说的系统托盘。这种设计使得用户可以方便地访问该应用程序,而不会占用主...
这类程序能够在最小化时缩到系统托盘区域,不仅节省了桌面空间,还能够方便用户快速访问应用程序的功能。本文将详细介绍如何使用C#实现一个简单的系统托盘程序。 #### 一、基础知识介绍 1. **`NotifyIcon` 控件**...
在Delphi编程中,开发人员有时需要实现一个功能,即当用户点击窗口的最小化按钮时,程序并不真正地最小化到任务栏,而是隐藏到系统托盘区域。这种功能可以使用户在不关闭程序的情况下节省桌面空间。标题提到的问题...
本压缩包“易语言源码弹出右下角窗口.rar”包含了一个使用易语言编写的程序,该程序实现了在电脑屏幕右下角弹出窗口的功能。 在Windows操作系统中,我们经常看到各种通知窗口出现在屏幕的右下角,这些通常被称为...