[SHELL32] Don't show taskbar button of Folder Options (#1091)

CORE-10481
This commit is contained in:
Katayama Hirofumi MZ 2018-12-03 13:38:09 +09:00 committed by GitHub
parent c1eb420a91
commit cbd52e30d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -190,6 +190,19 @@ HBITMAP CreateRadioMask(HDC hDC)
/////////////////////////////////////////////////////////////////////////////
// CMSGlobalFolderOptionsStub --- The owner window of Folder Options.
// This window hides taskbar button of Folder Options.
class CMSGlobalFolderOptionsStub : public CWindowImpl<CMSGlobalFolderOptionsStub>
{
public:
DECLARE_WND_CLASS_EX(_T("MSGlobalFolderOptionsStub"), 0, COLOR_WINDOWTEXT)
BEGIN_MSG_MAP(CMSGlobalFolderOptionsStub)
END_MSG_MAP()
};
/////////////////////////////////////////////////////////////////////////////
EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj);
static VOID
@ -217,14 +230,27 @@ ShowFolderOptionsDialog(HWND hWnd, HINSTANCE hInst)
LoadStringW(shell32_hInstance, IDS_FOLDER_OPTIONS, szOptions, _countof(szOptions));
szOptions[_countof(szOptions) - 1] = 0;
// the stub window to hide taskbar button
DWORD style = WS_DISABLED | WS_CLIPSIBLINGS | WS_CAPTION;
DWORD exstyle = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW;
CMSGlobalFolderOptionsStub stub;
if (!stub.Create(NULL, NULL, NULL, style, exstyle))
{
ERR("stub.Create failed\n");
return;
}
memset(&pinfo, 0x0, sizeof(PROPSHEETHEADERW));
pinfo.dwSize = sizeof(PROPSHEETHEADERW);
pinfo.dwFlags = PSH_NOCONTEXTHELP;
pinfo.hwndParent = stub;
pinfo.nPages = num_pages;
pinfo.phpage = hppages;
pinfo.pszCaption = szOptions;
PropertySheetW(&pinfo);
stub.DestroyWindow();
}
static VOID