zjimmy 发表于 2009-4-28 17:36:50

关于刷新桌面的问题

本帖最后由 zjimmy 于 2009-4-28 19:24 编辑

本意是修改桌面背景并刷新,查了很多资料,始终没有一个有效的方法刷新桌面~~
(强制关闭explorer.exe或者强制关闭桌面句柄都可以强制重启桌面,但是不好用。。)

Run ("RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters")
DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult")
DllCall("user32", "int", "SystemParametersInfo", "int", 20, "int", 1, "str", $bmpFile, "int", 1)

修改桌面壁纸----jpg格式的,不用重起生效。

结题,代码有效,只是自己测试有问题

thesnow 发表于 2009-4-28 18:44:53

1,使用GDI+把JPG转换为BMP.(系统设置壁纸也是先转换的)
2.设置BMP为壁纸.

zjimmy 发表于 2009-4-28 18:50:31

1,使用GDI+把JPG转换为BMP.(系统设置壁纸也是先转换的)
2.设置BMP为壁纸.
thesnow 发表于 2009-4-28 18:44 http://www.autoitx.com/images/common/back.gif

晕倒,这些我知道,也成功设置了bmp为壁纸,剩下的就是桌面刷新、显示壁纸的问题。。。

lyb0618 发表于 2009-4-28 22:50:45

本帖最后由 lyb0618 于 2009-4-28 22:54 编辑

直接修改注册表,桌面背景位置,如果你用JPG得先转,用BMP修改后,直接刷新注册表就行了
   RegWrite('HKCU\Control Panel\Desktop','Wallpaper','reg_sz',"c:\windows\system32\desk.bmp")
   DllCall("user32","int","SystemParametersInfo","int",20,"int",0,"str","c:\windows\system32\desk.bmp","int",0)

lzl88123 发表于 2009-5-3 21:57:21

学习了,注册表文件好啊
页: [1]
查看完整版本: 关于刷新桌面的问题