Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在windows中更新墙纸更改_C++_C_Windows_Winapi - Fatal编程技术网

C++ 如何在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

我使用java代码编辑了设置为墙纸的jpg图像。现在我希望windows更新墙纸,以便可以看到更改。 由于一些技术问题,我不想用代码设置墙纸

到目前为止,我的代码是:

#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_广播。