// 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;
}
Example #2
0
void CTortoiseProcApp::InitializeJumpList(const CString& appid)
{
	// for Win7 : use a custom jump list
	CoInitialize(NULL);
	SetAppID(appid);
	DeleteJumpList(appid);
	DoInitializeJumpList(appid);
	CoUninitialize();
}
Example #3
0
void CTortoiseProcApp::InitializeJumpList()
{
	// for Win7 : use a custom jump list
	CoInitialize(NULL);
	SetAppID(APPID);
	DeleteJumpList(APPID);
	DoInitializeJumpList();
	CoUninitialize();
}