1、修改分辨率时,任务栏位置不对;
2、连接多显示器时,壁纸消失;
3、应用全屏时,任务栏挡在前面。
需要前两个功能,只需ShellF5(x64)或ShellR32(x86)
或自己编程:
case WM_DISPLAYCHANGE:
HWND hwnd = FindWindow(_T("Shell_TrayWnd"), _T(""));
SendMessageW(hwnd, 1464, 0, 0);//HandleDisplayChange
HWND progman = FindWindow(L"ProgMan", NULL);
SendMessageTimeout(progman, WM_USER + SPI_SETFONTSMOOTHING, 0, 0, SMTO_NORMAL, 1000, nullptr);//0x44B(1099)
需要第三个功能x64系统4个文件全要(只需运行ShellF5),x86需要带32的两个文件。
水平有限,有谁知道更方便的办法也请分享一下。
文件及源码。
ShellF5.7z
(363.73 KB, 下载次数: 216)
winpe.7z
(16.47 KB, 下载次数: 156)
|