Qt 및 mingw32를 사용하여 이미지를 다운로드하고 배경 화면으로 설정하는 응용 프로그램을 작성하려고했습니다. VB와 C#에서이 작업을 수행하는 방법과 C++에서 수행하는 방법에 대한 온라인 기사를 여러 권 읽었습니다. 나는 현재 올바른 인수 (컴파일러 오류가없는 것)가있는 것으로 보이는 SystemParametersInfo
을 호출하고 실패합니다. 심벌즈의 큰 충돌은없고, 단지 0
가 반환되었습니다. GetLastError()
은 똑같이 계몽 된 0
을 반환합니다.C++ 및 windows api를 사용하여 프로그래밍 방식으로 배경 화면 변경
다음은 사용중인 코드입니다 (약간 수정 된 양식이므로 내부 개체를 볼 필요가 없습니다).
#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가 아닌 비트 맵 파일로 해 보았습니까? –
png, jpeg, bmp로 시도했습니다. –