VC6.0下实现系统托盘的气泡提示窗口(Use NIIF_INFO)

作者:Wupei  |  发表时间:  |  所属分类:VC

效果演示如下:
系统托盘气球信息演示

首先需要更新一下VC6.0的SDK(否则会出现编译出错),方法如下:
1.把ShellAPI.h文件中的关于任务栏提示的函数和常量替换为下面的内容(重要):

2.在stdafx.h文件中添加:

3.添加函数(需要先添加系统托盘图标)

4.修改气球提示信息

Trackback from your site.

(8)条评论

  • Wupei

    |

    使用的API是不一样的吗?….具体我也不知道

    回复

  • kan

    |

    如题

    回复

  • Wupei

    |

    因为你没有更新,造成的没有定义的标识符的错误
    首先需要更新一下VC6.0的SDK(否则会出现编译出错),方法如下:
    把ShellAPI.h文件中的关于任务栏提示的函数和常量替换为下面的内容(重要)
    看一下文章第一开始的说明

    回复

  • kiwiw3

    |

    为何我按照上述步骤后,VC6还是会报
    D:\C++_job\ScreenShot\CTrayIcon.cpp(148) : error C2065: ‘NIF_INFO’ : undeclared identifier
    D:\C++_job\ScreenShot\CTrayIcon.cpp(168) : error C2039: ‘uTimeout’ : is not a member of ‘_NOTIFYICONDATAW’
    c:\program files\microsoft visual studio\vc98\include\shellapi.h(509) : see declaration of ‘_NOTIFYICONDATAW’
    D:\C++_job\ScreenShot\CTrayIcon.cpp(169) : error C2039: ‘dwInfoFlags’ : is not a member of ‘_NOTIFYICONDATAW’
    c:\program files\microsoft visual studio\vc98\include\shellapi.h(509) : see declaration of ‘_NOTIFYICONDATAW’
    D:\C++_job\ScreenShot\CTrayIcon.cpp(171) : error C2039: ‘szInfo’ : is not a member of ‘_NOTIFYICONDATAW’
    c:\program files\microsoft visual studio\vc98\include\shellapi.h(509) : see declaration of ‘_NOTIFYICONDATAW’
    D:\C++_job\ScreenShot\CTrayIcon.cpp(172) : error C2039: ‘szInfoTitle’ : is not a member of ‘_NOTIFYICONDATAW’

    回复

  • wupei

    |

    不好意思,很抱歉程序的源代码不能给你,这个也不是”开源”的东西,今后我还会将程序改版~
    其实相关的技术都已经写在博客里了
    有什么问题一起讨论的

    回复

  • woody

    |

    谢谢,但我还是不明白
    能把你的那个工程发到我的邮箱吗?
    非常感谢

    回复

  • wupei

    |

    uCallbackMessage是回调消息的标识,用来响应事件的
    一般是用户自己定义的消息
    示例代码:
    //用户定义的消息
    #define MYWM_NOTIFYICON WM_USER+1
    //响应该消息
    LRESULT CMyDlg::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_LBUTTONDOWN)
    {
    //鼠标左键单击图标时
    MessageBox(“鼠标左键单击”);
    }
    else if(lParam==WM_RBUTTONDOWN)
    {
    //鼠标右键单击图标时
    MessageBox(“鼠标右键单击”);
    }
    break;
    }
    return CDialog::WindowProc(message, wParam, lParam);
    }

    回复

  • woody

    |

    我现在正在找这个方面的资料
    问下BOOL CMyCatchFun::ShowBalloonTip(
    CWnd* pWnd,
    LPCTSTR szMsg,
    LPCTSTR szTitle,
    UINT uTimeout,
    UINT uCallbackMessage
    )
    这个函数最后一个参数uCallbackMessage具体是什么意思??
    我的联系方式:QQ 619587378 msn: li.xin2006@yahoo.com.cn
    邮箱同msn

    回复

请在这里留言: