Chinaunix首页 | 论坛 | 博客
  • 博客访问: 668896
  • 博文数量: 134
  • 博客积分: 3158
  • 博客等级: 中校
  • 技术积分: 1617
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-30 22:36
文章分类

全部博文(134)

文章存档

2012年(2)

2011年(28)

2010年(68)

2009年(35)

2008年(1)

我的朋友

分类: 嵌入式

2010-11-19 14:23:30

只是从这个地方稍微改动了一些就可以了.
 
经典】WinCE下系统托盘程序之声音控制篇
 

描述:

 

本文以实例代码的形式讲述了在VC中系统托盘图标的实现。

 

技术实现:

 

VC中实现系统托盘图标主要用到一个Shell_NotifyIcon系统API。在本文中我们以对话框程序为例子实现系统托盘图标,步骤如下:

 

1.  StdAfx.h中定义消息ID,如:

   #define MYWM_NOTIFYICON  WM_USER+1

2.  在dlg定义一个全局NOTIFYICONDATA变量,如:

   NOTIFYICONDATA  g_nd;

3.  实现添加系统托盘图标函数,如:

   void CZTXClientDlg::AddSystrayIcon()

{

        // 将图标放入系统托盘

        g_nd.cbSize = sizeof (NOTIFYICONDATA);

        g_nd.hWnd = m_hWnd;

        g_nd.uID = IDR_MAINFRAME;

        g_nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;

        g_nd.uCallbackMessage= MYWM_NOTIFYICON;

        g_nd.hIcon = m_hIcon;

        //strcpy(g_nd.szTip, "知天下娱乐中心[V1.1]");

        wcscpy(g_nd.szTip, "知天下娱乐中心[V1.1]");

        Shell_NotifyIcon(NIM_ADD, &g_nd);

}

4.  实现删除系统托盘图标函数,如:

   void CZTXClientDlg::DelSystrayIcon()

{

        Shell_NotifyIcon(NIM_DELETE, &g_nd);

}

5.  重载WindowProc函数,如:

   LRESULT CZTXClientDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)

{

        // TODO: Add your specialized code here and/or call the base class

        switch( message )

        {

        case MYWM_NOTIFYICON:

            if(lParam==WM_LBUTTONDBLCLK)

            {

                 AfxGetApp()->m_pMainWnd->ShowWindow(SW_SHOW);

            }

           break;

        }

        return CDialog::WindowProc(message, wParam, lParam);

}

6.  OK,现在在我们的OnInitDialog函数中加入如下代码:

   AddSystrayIcon( );

7.  在窗口关闭函数中加入如下代码:

   DelSystrayIcon( );

wince 6.0测试通过了.

阅读(1765) | 评论(0) | 转发(0) |
0

上一篇:VC实现系统托盘图标

下一篇:LPCTSTR类型

给主人留下些什么吧!~~