给人做个东西,有这个要求
先放上一些玩意的隐藏
任务栏::ShowWindow(::FindWindow(_T("Shell_TrayWnd"), NULL), SW_HIDE);
开始菜单 ::ShowWindow(::GetDlgItem(::FindWindow(_T("Shell_TrayWnd"), NULL),0x130), SW_HIDE);//0x130 是开始按钮的ID
桌面 ::ShowWindow(::FindWindow(_T("ProgMan"), NULL), SW_HIDE);
禁用可以用EnableWindow()
以为隐藏任务栏就完事,结果下面不给腾出位子来,任务栏原先的地方还是不会被覆盖
在任务栏上右键,属性,设置任务栏自动隐藏任务栏时发现窗口会占据那块位置,网上找到个设置自动隐藏的代码,结合隐藏任务栏,成功达到目的
VOID HideTaskBar(BOOL bHide){int nCmdShow;HWND hWnd;LPARAM lParam;hWnd = FindWindow(_T("Shell_TrayWnd"),NULL);if(bHide == TRUE){nCmdShow = SW_HIDE;lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP;}else{nCmdShow = SW_SHOW;lParam = ABS_ALWAYSONTOP;}ShowWindow(hWnd,nCmdShow);APPBARDATA apBar; memset(&apBar, 0, sizeof(apBar)); apBar.cbSize = sizeof(apBar); apBar.hWnd = hWnd; if(apBar.hWnd != NULL) { apBar.lParam = lParam; SHAppBarMessage(ABM_SETSTATE, &apBar);} }
用到shellapi需要包含头文件
vs08+xp测试通过