【发布时间】:2012-02-20 18:29:19
【问题描述】:
我在学校看到有人有一个程序,该程序本应更改背景并将您注销(以便更改生效),但该程序只能在他的计算机上运行,并且他“丢失”了源代码。 我一直在网上寻找可以做到这一点的代码,所以我可以尝试一下。
我找到了这段代码(C++)
#include <windows.h>
int main()
{
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)"image.jpg", SPIF_UPDATEINIFILE );
}
哪个起作用了..
它对位于同一文件夹中的图像工作了两次,我测试了两个图像,在第二个图像之后它就停止了工作。
我终其一生都无法弄清楚它为什么停止工作(我尝试了多个文件扩展名,所以我知道这不是问题)。
我正在使用 Dev-C++,如果这对任何人都有影响的话。
另外,我希望能够修改代码以使用 url 而不是本地图像...这可能吗?
谢谢!
编辑:如果我将image.jpg 更改为image.bmp,它每次都会更改..但这意味着它只适用于*.bmp?我之前用 jpeg 处理过它。
【问题讨论】:
-
如果指定网址,必须先下载。
-
它似乎正在处理任何图像,这与我上次的编辑相反。您能否通过下载网址指定您的意思?就像我要设置的图像一样?我希望它能够从 url 本身获取图像,这样我就可以在多台计算机上只使用
*.exe文件,而无需*.exe所在位置的*.bmp文件。 -
试试 - PostMessage(GetDesktopWindow(), WM_SETTINGCHANGE, NULL, NULL);
-
@Desu_Never_Lies 我输入了那一行,它返回了错误
9 C:\Users\CurrentUser\Desktop\Folder\main.cpp [Warning] passing NULL used for non-pointer converting 3 of 'BOOL PostMessageA(HWND__*, UINT, WPARAM, LPARAM)'我还有什么与该代码有关的事情吗?