使用
REM 下载wallpaper.exe
wallpaper.exe "C:\Users\leo\Desktop\新建文件夹\10.jpg"
原理
/*
BOOL SystemParametersInfoW(
UINT uiAction,
UINT uiParam,
PVOID pvParam,
UINT fWinIni
);
*/
// 以下参数可设置并刷新壁纸
// 参考 https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-systemparametersinfow
SystemParametersInfo(20, 0, "路径", 3)
源码
逻辑较简单,使用MASM编写编译后程序较小,大概1.5kb
.386
option casemap:none
include \masm32\include\masm32rt.inc
.code
start:
invoke GetCommandLineW
lea ecx, dword ptr[ebp - 4]
invoke CommandLineToArgvW, eax, ecx
mov ebx, [ebp-4]
cmp ebx, 2
jne @F
add eax, 4
invoke SystemParametersInfoW, 14h, NULL, [eax], 03h
@@:
invoke ExitProcess, eax
end start