C++ 如何在windows中更新墙纸更改
我使用java代码编辑了设置为墙纸的jpg图像。现在我希望windows更新墙纸,以便可以看到更改。 由于一些技术问题,我不想用代码设置墙纸 到目前为止,我的代码是:C++ 如何在windows中更新墙纸更改,c++,c,windows,winapi,C++,C,Windows,Winapi,我使用java代码编辑了设置为墙纸的jpg图像。现在我希望windows更新墙纸,以便可以看到更改。 由于一些技术问题,我不想用代码设置墙纸 到目前为止,我的代码是: #include <stdio.h> #include <windows.h> void broadcast{ char filepath[225]; SystemParametersInfo(SPI_GETDESKWALLPAPER, sizeof (filepath) - 1, file
#include <stdio.h>
#include <windows.h>
void broadcast{
char filepath[225];
SystemParametersInfo(SPI_GETDESKWALLPAPER, sizeof (filepath) - 1, filepath, SPIF_SENDCHANGE);
}
但此代码并没有更新墙纸。我正在使用JNI。SPI_SetdeskWallpar听起来比GET更有希望。你试过了吗?但它会使墙纸凝固。我不想通过编码来改变壁纸。我编辑了图像,希望windows对其进行更新@IgorTandetnikI会尝试将其设置为相同的文件名。这样做会更改windows设置。假设用户选择了1个以上的文件作为墙纸。如果我通过代码设置它,它将只设置一个图像。还有其他问题@IGORTANDETNIK我谨建议您:要向所有顶级窗口发送WM_设置更改消息,请使用SendMessageTimeout函数,并将hwnd参数设置为hwnd_广播。