一个托盘程序演示 -闹钟 Alert

liwang482

liwang482

2016-01-29 11:55

一个托盘程序演示 -闹钟 Alert,一个托盘程序演示 -闹钟 Alert

一个托盘程序演示 -闹钟 Alert


作者:Abbey

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

下载源代码


关键字:托盘 Tray

  想必大家都看见过那些在系统托盘(Tray)中的程序吧,本文就演示了如何创建一个这样的托盘程序Alert。Alert是一个运行在系统托盘中的小闹钟,它在设定的时间后触发,运行屏幕保护程序并播放一首歌曲。这个程序是很久以前写的了,而我现在没有安装VC++了,所以本文的截图都是朋友Leoyin帮我做出来后传给我的(好麻烦,呵呵),在此也对他表示感谢!
  建立一个托盘程序的关键在于Windows API-Shell_NotifyIcon()的使用,这个API的声明包含在ShellAPI.H文件中。请在StdAfx.h中使用“#include <ShellAPI.H”将其引入工程,别象我当时那么傻-在工程管理器里引入了该文件,导致现在你们在类视图中看见了许多不希望看到的东西。我现在也没有VC++ IDE来修改它了,就这样吧。
  首先,给大家介绍一下相关的函数和结构:Shell_NotifyIcon()的原型和说明(最新版)如下:

BOOL Shell_NotifyIcon(DWORD dwMessage,PNOTIFYICONDATA lpdata);
参数及返回值说明:
dwMessage:[输入参数] 说明要执行的动作。动作的可选值如下: NIM_ADD 增加一个图标到托盘区 NIM_DELETE 从托盘区删除一个图标 NIM_MODIFY修改图标 NIM_SETFOCUS 将焦点(Focus)返回托盘区。这个消息通常在托盘区图标完成了用户界面下的操作后发出。比如一个托盘图标显示了一个快捷菜单,然后用户按下ESC键了操作,这时使用NIM_SETFOCUS将焦点继续保留在托盘区。该项仅在系统外壳与常用控制DLL( Shlwapi.dll与Comctl32.dll)5.0以上版本才可用。 NIM_SETVERSION指定使用特定版本的系统外壳与常用控制DLL。缺省值为0,表示使用Win95方式。该项仅在系统外壳与常用控制DLL 5.0以上版本才可用lpdata:[输入参数] 一个指向NOTIFYICONDATA结构的指针。
返回值:成功时函数返回TRUE,否则FALSE。

NOTIFYICONDATA 结构的说明(最新版)如下:
typedef struct _NOTIFYICONDATA {    DWORD cbSize;    HWND hWnd;    UINT uID;    UINT uFlags;    UINT uCallbackMessage;    HICON hIcon;    TCHAR szTip[64];    DWORD dwState;    DWORD dwStateMask;    TCHAR szInfo[256];    union {        UINT uTimeout;        UINT uVersion;    };    TCHAR szInfoTitle[64];    DWORD dwInfoFlags;    GUID guidItem;} NOTIFYICONDATA, *PNOTIFYICONDATA;
cbSize 以字节计的结构大小,以适应不同版本。 hWnd 接收Windows消息的窗口句柄。 uID 托盘图标的ID。 uFlags 指示结构中的哪些成员包含有效数据,可选值:NIF_ICON, NIF_MESSAGE,NIF_TIP,NIF_STATE,NIF_INFO,NIF_GUID。 uCallbackMessage 回调消息ID,由用户自定义。与一个自定义的消息处理函数关联。 hIcon 托盘图标的句柄。 szTip 托盘图标的提示字符串。 注意:以下数据成员仅限系统外壳与常用控制DLL 5.0及以上版本才有效! dwState 图标的状态:NIS_HIDDEN-隐藏,或NIS_SHAREDICON-可视。 dwStateMask 图标状态掩码,用以设置dwState szInfo 气球型提示(Balloon ToolTip)的字符串。 uTimeout
展开更多 50%)
分享

猜你喜欢

一个托盘程序演示 -闹钟 Alert

C语言教程 C语言函数
一个托盘程序演示 -闹钟 Alert

用VB设计一个定时闹钟程序

编程语言 网络编程
用VB设计一个定时闹钟程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB面向对象编程的一个简单的演示程序

电脑网络
VB面向对象编程的一个简单的演示程序

从一个程序中生成另一个程序(资源法)

编程语言 网络编程
从一个程序中生成另一个程序(资源法)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

一个二分法查找的图形演示程序

编程语言 网络编程
一个二分法查找的图形演示程序

一个域名查询的程序

PHP
一个域名查询的程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

tbody标签的妙用

tbody标签的妙用

“画中画”效果--谈IFRAME标签的使用

“画中画”效果--谈IFRAME标签的使用
下拉加载更多内容 ↓