none
SetThemeAppProperties disables COM Common Dialogs

    Question

  • Calling SetThemeAppProperties with argument which has flag STAP_ALLOW_CONTROLS unset causes CoCreateInstance for Common Dialogs (or at list File Open Dialog, CLSID_FileOpenDialog) to return error 0x80040111.

    Sample code is following:

    HRESULT hResult;
    CComPtr< IFileOpenDialog > pFileOpenInterface1;
    CComPtr< IFileOpenDialog > pFileOpenInterface2;
    
    hResult = ::CoCreateInstance( CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS( &pFileOpenInterface1 ) );
    ::SetThemeAppProperties( 0 );
    hResult = ::CoCreateInstance( CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS( &pFileOpenInterface2 ) );
    

    To make it into running code I have created (in Visual Studio 2010 Professional) a simple Win32 GUI application and added that code to menu Help|About handler.

    Why is it so and how to work around that issue?


    Adam Badura
    • Edited by Adam Badura Thursday, March 10, 2011 6:21 AM Missing word added
    Wednesday, March 09, 2011 9:41 PM

All replies