之前,偶也在CSDN上看到了一些方法介绍,也有的有代码,可多次就是试不爽。后来就整理出来了两份代码,给各位需要的xdjm们分享一下 这里,俺在鼠标抬起时响应最小化当前桌面所有窗口。 方法一:
void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
HWND hTaskBar=::FindWindow(_T("Shell_TrayWnd"), NULL);
::SendMessage(hTaskBar, WM_HOTKEY, 0x1f5, 0);
} 方法二:
void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
::EnumWindows (MinimizeWindows, 0);
CMyDlg::OnLButtonUp(nFlags, point);
} BOOL CALLBACK MinimizeWindows (HWND hWnd, LPARAM lParam)
{
if (!::IsWindowVisible (hWnd))
return TRUE; if (::IsIconic (hWnd))
return TRUE; long wndStyle = ::GetWindowLong (hWnd, GWL_STYLE);
if ((wndStyle & WS_MINIMIZEBOX) && (wndStyle & WS_SYSMENU))
{
::PostMessage (hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
} return TRUE;
} 吼吼
void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
HWND hTaskBar=::FindWindow(_T("Shell_TrayWnd"), NULL);
::SendMessage(hTaskBar, WM_HOTKEY, 0x1f5, 0);
} 方法二:
void CMyDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
::EnumWindows (MinimizeWindows, 0);
CMyDlg::OnLButtonUp(nFlags, point);
} BOOL CALLBACK MinimizeWindows (HWND hWnd, LPARAM lParam)
{
if (!::IsWindowVisible (hWnd))
return TRUE; if (::IsIconic (hWnd))
return TRUE; long wndStyle = ::GetWindowLong (hWnd, GWL_STYLE);
if ((wndStyle & WS_MINIMIZEBOX) && (wndStyle & WS_SYSMENU))
{
::PostMessage (hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
} return TRUE;
} 吼吼
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货