Ich habe versucht, eine Anwendung mit Qt und Mingw32 zu schreiben, um Bilder herunterzuladen und sie als Hintergrundbild festlegen. Ich habe mehrere Artikel online darüber gelesen, wie man das macht, in VB und C#, und bis zu einem gewissen Grad, wie man es in C++ macht. Ich rufe derzeit die mit, was scheint, die richtigen Argumente (keine Compilerfehler) und es schlägt fehl. Kein großer Crash von Cymbals, nur ein 0
zurück. GetLastError()
liefert eine ebenso aufschlussreiche 0
.Ändern Sie Hintergrundbild programmgesteuert mit C++ und Windows-API
Unten ist der Code, den ich benutze (in einer leicht modifizierten Form, so dass Sie die Objekt-Interna nicht sehen müssen).
#include <windows.h>
#include <iostream>
#include <QString>
void setWall()
{
QString filepath = "C:\\Documents and Settings\\Owner\\My Documents\\Wallpapers\\wallpaper.png";
char path[150];
strcpy(path, currentFilePath.toStdString().c_str());
char *pathp;
pathp = path;
cout << path;
int result;
result = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pathp, SPIF_UPDATEINIFILE);
if (result)
{
cout << "Wallpaper set";
}
else
{
cout << "Wallpaper not set";
cout << "SPI returned" << result;
}
}
haben Sie es mit einer Bitmap-Datei versucht und nicht png/jpg? –
Versucht mit Png, JPEG, BMP. –