// Window proc for this application. LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { int wmId = LOWORD(wParam); // Parse the menu selections switch (wmId) { case IDM_EXIT: DestroyWindow(hWnd); break; case IDM_FILE_CREATECUSTOMJUMPLIST: CreateJumpList(); break; case IDM_FILE_DELETECUSTOMJUMPLIST: DeleteJumpList(); break; case IDM_FILE_DEREGISTERFILETYPES: { CleanupSampleFiles(); PCWSTR pszMessage; HRESULT hr = UnRegisterFileTypeHandlers(); if (E_ACCESSDENIED == hr) { pszMessage = L"Please run this application as an administrator to remove file type registrations."; } else if (FAILED(hr)) { pszMessage = L"Unable to remove file type registrations."; } else { pszMessage = L"File type registrations were successfully removed."; } MessageBox(hWnd, pszMessage, c_szTitle, MB_OK); break; } default: return DefWindowProc(hWnd, message, wParam, lParam); } } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
void CTortoiseProcApp::InitializeJumpList(const CString& appid) { // for Win7 : use a custom jump list CoInitialize(NULL); SetAppID(appid); DeleteJumpList(appid); DoInitializeJumpList(appid); CoUninitialize(); }
void CTortoiseProcApp::InitializeJumpList() { // for Win7 : use a custom jump list CoInitialize(NULL); SetAppID(APPID); DeleteJumpList(APPID); DoInitializeJumpList(); CoUninitialize(); }