Windows 系统托盘编程实现
1,首先在dialog对象中添加一变量: NOTIFYICONDATA m_notifyIcon; 2,自定义一Windows 消息:#define WM_NC (WM_USER+1001) 3,在初始化函数oninitdialog中对m_notifyIcon进行初始化: m_notifyIcon.cbSize = sizeof(NOTIFYICONDATA); m_notifyIcon.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_notifyIcon.hWnd = m_hWnd; lstrcpy(m_notifyIcon.szTip , L"NotifyIcon Test"); m_notifyIcon.uCallbackMessage = WM_NC; m_notifyIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; Shell_NotifyIcon(NIM_ADD , &m_notifyIcon); 4,设置消息响应函数:在messagemap里面添加: ON_MESSAGE(WM_NC,OnNotifyIcon) // 注册 5,实现 OnNotifyIcon的函数功能: 一般的使用方法是右击小图标出现一个菜单,所以这里添加一个菜单资源 IDR_MENU1 ,在该菜单里面也可以添加消息响应函数,这里省略 LRESULT CMyplayDlg::OnNotifyIcon(WPARAM wParam,LPARAM IParam) { // 这个方法体你随便写。。我只做个演示。。 //if ((IParam == WM_LBUTTONDOWN) || (IParam == WM_RBUTTONDOWN)) //{ // ModifyStyleEx(0 , WS_EX_TOPMOST); // ShowWindow(SW_SHOW); // 显示dialog // Shell_NotifyIcon(NIM_DELETE, &m_notifyIcon); // 清除小图标 //} s...