Попробуйте использовать функцию SHGetFolderPath
с CSIDL_MYPICTURES
CSIDL
как-то так
#include <windows.h>
#include <iostream>
#include <shlobj.h>
#pragma comment(lib, "shell32.lib")
int main() {
CHAR mypicturespath[MAX_PATH];
HRESULT result = SHGetFolderPath(NULL, CSIDL_MYPICTURES, NULL, SHGFP_TYPE_CURRENT, mypicturespath);
std::cout << "My Pictures : " << mypicturespath << "\n";
return 0;
}