SetWallpaper mit BCB 5.0



  • Hi Leute hat jemand schon mal erfolgreich die API Funktion SetWallpaper unter dem BCB 5 implementiert? Ich schaffe es einfach nicht 😞 wäre sehr nett wenn jemand seinen Codeschnipsel mit der funktion posten würde. Und bevor der Verweis auf die msdn kommt, ja ich habe es schon etliche male probiert.



  • Wie sehen deine Versuche aus, und welche Probleme treten genau auf?



  • CoInitialize(0);
    
       HRESULT hr;
    
       IActiveDesktop *pActiveDesktop;
    
       hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
                          IID_IActiveDesktop, (void**)&pActiveDesktop);
    
       LPWSTR bild = L"C:\\test.jpg";
       pActiveDesktop->SetWallpaper(bild,0);
    
       pActiveDesktop->Release();
    
       CoUninitialize();
    

    Ich bekomme diesen Fehler :
    [C++ Fehler] Unit1.cpp(132): E2015 Mehrdeutigkeit zwischen 'CLSID_ActiveDesktop' und 'Shlobj::CLSID_ActiveDesktop'



  • ok problem hat sich schon gelöst

    hab einfach einen Scope Operator vor CLSID gemacht und es hat ohne probleme geklappt.



  • Es gehört zum guten Ton, auch selbstgefundene und/oder triviale Lösungen bekanntzugeben.


Anmelden zum Antworten