Görüntüleri indirmek ve arka plan Duvar Kağıdı olarak ayarlamak için Qt ve mingw32 kullanarak bir uygulama yazmaya çalışıyorum. VB ve C# 'da nasıl yapılacağı ve C++' da nasıl yapılacağı hakkında birkaç makaleyi okudum. Şu anda SystemParametersInfo
'u tüm doğru argümanlar (derleyici hataları yok) gibi görünüyor ve başarısız oluyor. Zillerin büyük çarpması yok, sadece 0
döndü. GetLastError()
, eşit derecede aydınlatıcı bir 0
döndürür.Duvar kağıdını program aracılığıyla C++ ve windows api kullanarak değiştirme
Kullandığım kod aşağıdadır (Biraz değiştirilmiş bir formda, böylece nesnenin içeriklerini görmeniz gerekmez).
#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;
}
}
png/jpg değil, bir bitmap dosyasıyla denediniz mi? –
png, jpeg, bmp ile çalıştı. –