Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,971 questions

51,913 answers

573 users

How to get the current Windows wallpaper name using IActiveDesktop interface with C++ Win32 API

1 Answer

0 votes
#include <Windows.h> 
#include <Wininet.h>
#include <Shlobj.h>
#include <iostream>

int main()
{
    CoInitialize(nullptr);
    IActiveDesktop* pDesktop = nullptr;
    WCHAR wszWallpaper[MAX_PATH];

    CoCreateInstance(
        CLSID_ActiveDesktop,
        nullptr,
        CLSCTX_INPROC_SERVER,
        _uuidof(IActiveDesktop),
        reinterpret_cast<void**>(&pDesktop)
    );

    pDesktop->GetWallpaper(wszWallpaper, MAX_PATH, 0);
    std::wcout << wszWallpaper;

    CoUninitialize();
}


/*
run:

c:\users\...\pictures\saved pictures\abc-3840x2160-4k-wallpaper-beautiful-view-741.jpg

*/

 



answered Oct 31, 2024 by avibootz
edited Oct 31, 2024 by avibootz
...