调用ShowWindow(SW_SHOWMAXIMIZED)后最大化的边框依然在任务栏之上,怎样才能完全覆盖住任务栏

解决方案 »

  1.   

    响应WM_GETMINMAXINFO这个消息设置下最大宽度和高度
    要全屏覆盖就先获取屏幕的宽度和高度GetSystemMetrics
      

  2.   


    HWND hWnd;
    hWnd = FindWindow("Shell_TrayWnd",NULL);
    //隐藏
    ShowWindow(hWnd,SW_HIDE);
    //显示
    ShowWindow(hWnd,SW_SHOW);
      

  3.   

    设置你的分辨率那么大的Rect,然后MoveWindow/SetWindowPos();
      

  4.   

    GetSystemMetrics 根据SM_CXSCREEN和SM_CYSCREEN  获取屏幕大小,然后SetWindowPos /MoveWindow  来调整窗口大小
      

  5.   

    在OnInitDialog中隐藏
    //隐藏任务栏
    HWND lpClassName;
    lpClassName = ::FindWindow(TEXT("HHTaskBar"), NULL);
    ::ShowWindow(lpClassName, SW_HIDE);
    SetForegroundWindow();
      

  6.   

    我也是用GetSystemMetrics获得了屏幕宽和高,其实创建出的窗口是有整个屏幕大小的,只是任务栏总是显示在最顶层无法覆盖