void RegisterTab(HWND tab, HWND owner) { ITaskbarList4 *taskbar; if(!(tab && owner)) return; if(S_OK != CoCreateInstance(CLSID_TaskbarList, 0, CLSCTX_INPROC_SERVER, IID_ITaskbarList4, (void**)&taskbar)) return; taskbar->HrInit(); taskbar->RegisterTab(tab, owner); taskbar->Release(); }
static inline ITaskbarList4 *createTaskbarList() { ITaskbarList4 *result = 0; HRESULT hresult = CoCreateInstance(CLSID_TaskbarList, 0, CLSCTX_INPROC_SERVER, qIID_ITaskbarList4, reinterpret_cast<void **>(&result)); if (FAILED(hresult)) { const QString err = QtWin::errorStringFromHresult(hresult); qWarning("QWinThumbnailToolBar: qIID_ITaskbarList4 was not created: %#010x, %s.", (unsigned)hresult, qPrintable(err)); return 0; } hresult = result->HrInit(); if (FAILED(hresult)) { result->Release(); const QString err = QtWin::errorStringFromHresult(hresult); qWarning("QWinThumbnailToolBar: qIID_ITaskbarList4 was not initialized: %#010x, %s.", (unsigned)hresult, qPrintable(err)); return 0; } return result; }