vc 刷新系统托盘图标(原创)
来源:互联网 发布:新郎婚礼致辞 知乎 编辑:程序博客网 时间:2024/05/01 12:18
/************************************************************************/
/* 该函数主要是实现对系统托盘的图标刷新的问题 */
/* */
/* 由于托盘程序如果被强行杀掉进程等操作后,在托盘中的图标不能自动删除 */
/* 顾运用以下的方法,实现模拟鼠标点击托盘图标,使得图标刷新 */
/* */
/* 使用方法: 直接调用 RefurbishTray 函数就可以了 */
/* 作 者: Richard */
/* 邮 箱: happyhell@gmail.com */
/* 日 期: 2006-11-06 */
/************************************************************************/
/* 日 期: 2006-11-06 */
/************************************************************************/
void CGreenSpanDlg::RefurbishTray()
{
RECT WindowRect ;
POINT point ;
int x ;
int y ;
// int SmallIconWidth , SmallIconHeight ;
// SmallIconWidth = GetSystemMetrics(SM_CXSMICON);
// SmallIconHeight = GetSystemMetrics(SM_CYSMICON);
{
RECT WindowRect ;
POINT point ;
int x ;
int y ;
// int SmallIconWidth , SmallIconHeight ;
// SmallIconWidth = GetSystemMetrics(SM_CXSMICON);
// SmallIconHeight = GetSystemMetrics(SM_CYSMICON);
HWND hwnd = GetSysTrayWnd() ;
::GetWindowRect(hwnd , &WindowRect ) ;
::GetCursorPos(&point) ;
::GetWindowRect(hwnd , &WindowRect ) ;
::GetCursorPos(&point) ;
for( x = 1 ; x < WindowRect.right - WindowRect.left - 1 ; x ++ )
{
for( y = 1 ; y < WindowRect.bottom - WindowRect.top - 1 ; y ++ )
{
SetCursorPos( WindowRect.left + x, WindowRect.top + y ) ;
Sleep(0);
}
{
for( y = 1 ; y < WindowRect.bottom - WindowRect.top - 1 ; y ++ )
{
SetCursorPos( WindowRect.left + x, WindowRect.top + y ) ;
Sleep(0);
}
}
// SetCursorPos(SmallIconWidth,SmallIconHeight);
}
}
/************************************************************************/
/* 该函数主要是获取系统托盘句柄 */
/* */
/* 这个方法只支持NT以上的版本,如果是NT 以下的版本,则需要根据
/* 任务栏窗口以及其子窗口结构 修改 */
/* 作 者: Richard */
/* 该函数主要是获取系统托盘句柄 */
/* */
/* 这个方法只支持NT以上的版本,如果是NT 以下的版本,则需要根据
/* 任务栏窗口以及其子窗口结构 修改 */
/* 作 者: Richard */
/* 邮 箱: happyhell@gmail.com */
/* 日 期: 2006-11-06 */
/************************************************************************/
HWND CGreenSpanDlg::GetSysTrayWnd()
{
HWND hwnd ;
hwnd = ::FindWindow("Shell_TrayWnd", NULL ) ;
hwnd = ::FindWindowEx(hwnd, 0, "TrayNotifyWnd", NULL );
/* 日 期: 2006-11-06 */
/************************************************************************/
HWND CGreenSpanDlg::GetSysTrayWnd()
{
HWND hwnd ;
hwnd = ::FindWindow("Shell_TrayWnd", NULL ) ;
hwnd = ::FindWindowEx(hwnd, 0, "TrayNotifyWnd", NULL );
return hwnd ;
}
}
- vc 刷新系统托盘图标(原创)
- vc 刷新系统托盘图标
- 系统托盘图标VC
- VC 任务栏 系统托盘图标
- VC实现系统托盘图标
- vC++ 系统托盘图标实现
- vc 系统托盘图标的实现
- 用vc实现隐藏系统托盘图标
- VC增加应用程序图标到系统托盘
- 系统托盘图标
- 系统托盘图标
- vc 系统托盘
- VC 系统托盘
- VC系统托盘
- vc++系统托盘
- VC++代码刷新桌面图标和任务栏图标
- VC 刷新桌面图标和任务栏图标
- 添加系统托盘图标
- CodeSmith 4.1发布
- ASP.NET Futures体验:CSS选择器和创建多个客户端组件
- ApplicationFrame详细简介
- FastSpring学习笔记一
- 北大青鸟之return
- vc 刷新系统托盘图标(原创)
- ASP.NET Futures体验:动态数据控件(3)
- SQL Server 2008和T-SQL新功能
- BlogEngine.NET 1.1 发布
- DataGrid 多选属性allowMultipleSelection
- C#3.0新特性系列:自动属性(Automatic Properties)
- 2007-8-23 FastSpring.NET V2.05 RC1 发布
- 第四次作业(网页代码)
- Microsoft .NET Framework 3.5 June 2007 CTP 发布