我想做出QQ动态的系统托盘的效果来,设置了定时器,也执行到了定时器里面来,不知道为何,系统托盘并没有被修改,是不是调用完系统托盘以后,还是进行系统托盘的界面刷新,应该如何处理,谢谢!!
void CMainFrame::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
NOTIFYICONDATA tnd;
tnd.cbSize = sizeof(NOTIFYICONDATA);
tnd.hWnd = this->m_hWnd;
tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
if(m_iconFlag)
{
m_iconFlag = false; tnd.uID = IDI_ICON2;
//tnd.uCallbackMessage=WM_MYMESSAGE;
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2));
strcpy(tnd.szTip,"测试程序");//图标提示为"测试程序"
Shell_NotifyIcon(NIM_MODIFY,&tnd);//向任务栏添加图标 }
else
{
m_iconFlag = true; tnd.uID = IDI_ICON1;
//tnd.uCallbackMessage=WM_MYMESSAGE;
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));
strcpy(tnd.szTip,"测试程序");//图标提示为"测试程序"
Shell_NotifyIcon(NIM_MODIFY,&tnd);//向任务栏添加图标
}
CFrameWnd::OnTimer(nIDEvent);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
NOTIFYICONDATA tnd;
tnd.cbSize = sizeof(NOTIFYICONDATA);
tnd.hWnd = this->m_hWnd;
tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
if(m_iconFlag)
{
m_iconFlag = false; tnd.uID = IDI_ICON2;
//tnd.uCallbackMessage=WM_MYMESSAGE;
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2));
strcpy(tnd.szTip,"测试程序");//图标提示为"测试程序"
Shell_NotifyIcon(NIM_MODIFY,&tnd);//向任务栏添加图标 }
else
{
m_iconFlag = true; tnd.uID = IDI_ICON1;
//tnd.uCallbackMessage=WM_MYMESSAGE;
tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1));
strcpy(tnd.szTip,"测试程序");//图标提示为"测试程序"
Shell_NotifyIcon(NIM_MODIFY,&tnd);//向任务栏添加图标
}
CFrameWnd::OnTimer(nIDEvent);
}
解决方案 »
- 请教:怎样防止程序被重复启动
- 关于网络接收数据
- 为什么我自己创建的CDIALOG的类.在.CPP里没有OnInitDialog()函数!
- 我的BoundChecker怎么检查不到简单的内存泄漏?
- 用CFile如下的方法向一个文件写东西,可是,文件后写的总是代替前面写的,为什么阿?
- 谁知道VCD和DVD的程序是用什么写的吗?
- 《vc++技术内幕》一书,第五版和第四版有什么区别?
- 如何在WIN2K中创建新服务?
- 急,有关ActiveX弹出对放框的问题
- dx9的演示代码怎么编译通不过
- InstallShield develop 8 的简单问题 不要见笑 :)
- 有一个VC程序,有原程序,在VC中也可以通过,如何给它加上个参数再重新编译?以调用它的部分功能
tnid.cbSize=sizeof(NOTIFYICONDATA);
tnid.hWnd=this->m_hWnd;
tnid.uID=IDR_MAINFRAME;//保证删原始图标
Shell_NotifyIcon(NIM_DELETE,&tnid);然后在
Shell_NotifyIcon(NIM_MODIFY,&tnd);//向任务栏添加图标