修改桌面壁纸----jpg格式的,不用重起生效。
麻烦大家了,对不起!!!!!!!!!修改桌面壁纸----jpg格式的,不用重起生效。
[ 本帖最后由 secty9530 于 2008-6-3 20:15 编辑 ] 图的位置好像在注册表里.改成你要用的桌面壁的名字..
用Run ("RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters")这个应该可以立即生效 选转换JPG为BMP在设置为壁纸, 2 楼 说的不准确,经过实验不成功.......... 注册表都不用改了...
$s_BitmapImage="深海世界.bmp"
_SetWallpaper($s_BitmapImage, 0)
Func _SetWallpaper($s_BitmapImage, $l_params = 0)
$ai_Ret = DllCall('user32.dll', 'long', 'SystemParametersInfoA', 'long', 20, 'long', 0, 'str', $s_BitmapImage, 'long', $l_params)
Return $ai_Ret
EndFunc
[ 本帖最后由 木纳 于 2008-6-1 16:40 编辑 ] 感谢各位的帮助,小弟要求的是jpg格式的图片.不是转换成bmp格式的问题. 你是需要更换桌面图片是吧!我在原来的论坛收集到了一段代码,但是没测试,你试下行不行!
;==========================================================================================
;= 感谢你使用AutoIt 3制作的动态更换桌面背景程序 =
;= 你可以把\\work\gamesadmin$\动态桌面\desk.bmp换成你服务器存放文件的路径 =
;= 并且你可以修改检查背景文件 (更改背景文件) 的延时 时间具体改法如下 =
;= 把Sleep (30000) 里的数值修改成你需要的就可以了 =
;= 注: 这里的时间表达式是毫秒 也就是1000 = 1秒 =
;= 服务器文件存放路径共有4处,延时表达有1处,建议你用"替换工具修改 =
;= Break(0)是禁止退出程序 如果你不需要这个功能只要把0改成1即可 =
;= =
;= :: 本程序为 AutoIt 脚本 :: =
;= =
;= 作者: 笨死了 QQ:729584716 E-mail: kingermaster#msn.com =
;==========================================================================================
; 程序从这里开始
$g_szVersion = "My Script 1.1"
If WinExists($g_szVersion) Then Exit ;
AutoItWinSetTitle($g_szVersion)
Break(0)
Opt("TrayIconHide", 1)
$i = 0
While $i <= 1
$a = FileGetTime("\\work\gamesadmin$\动态桌面\desk.bmp",0)
$c = $a
RegWrite('HKCU\Control Panel\Desktop','Wallpaper','reg_sz',"\\work\gamesadmin$\动态桌面\desk.bmp")
DllCall("user32","int","SystemParametersInfo","int",20,"int",0,"str","\\work\gamesadmin$\动态桌面\desk.bmp","int",0)
Sleep (10000)
$b = FileGetTime("\\work\gamesadmin$\动态桌面\desk.bmp",0)
Select
Case $b <> $c
RegWrite('HKCU\Control Panel\Desktop','Wallpaper','reg_sz',"\\work\gamesadmin$\动态桌面\desk.bmp")
DllCall("user32","int","SystemParametersInfo","int",20,"int",0,"str","\\work\gamesadmin$\动态桌面\desk.bmp","int",0)
Case $b = $c
EndSelect
WEnd 原帖由 木纳 于 2008-6-1 16:23 发表 http://www.autoitx.com/images/common/back.gif
注册表都不用改了...
$s_BitmapImage="深海世界.bmp"
_SetWallpaper($s_BitmapImage, 0)
Func _SetWallpaper($s_BitmapImage, $l_params = 0)
$ai_Ret = DllCall('user32.dll', 'long', 'SystemParam ...
送一个jpg转换bmp的函数吧,要不楼主的要求得不到满足,呵呵 没找到,
找到一定发出来大家一起学习. 终于找到了...
BMP转jPG格式的...我试了下,可以的.
但不知道是不是所有都能行.
下面是BMP转JPG的#include <GDIPlus.au3> ;<A3LGDIPlus.au3>
Global $sImage, $hImage, $sCLSID
; Get BMP file to convert
$sImage = InputBox("BMP to JPG", "Enter File Name:", "深海世界.bmp", "", 200, 130)
if @Error then Exit
; Initialize GDI+ library
_GDIPlus_StartUp()
; Load image
$hImage = _GDIPlus_ImageLoadFromFile($sImage)
; Get JPEG encoder CLSID
$sCLSID = _GDIPlus_EncodersGetCLSID("JPG")
; Save image as JPG
_GDIPlus_ImageSaveToFileEx($hImage, "深海世界.jpg", $sCLSID)
; Shut down GDI+ library
_GDIPlus_ShutDown() 人家楼主要的是如何设置JPG图片为桌面壁纸,
一堆人却在讨论如何把JPG和BMP图片互转换.... 背景图片一定要是BMP格式的才会显示到桌面
要设置JPG图片为桌面背景 一定要转换成BMP图片格式
新版的AU3没有了 GDIPlus.au3 转换文件
我借助了官方的 http://download.microsoft.com/download/WinXPHome/Utility/2.0/WXP/EN-US/WIAAutSDK.zip
来达到转换图片格式的目的
转换代码如下:
Dim $Img ;图片文件
Dim $IP ;图片处理
$Img = ObjCreate("WIA.ImageFile")
$IP = ObjCreate("WIA.ImageProcess")
$Img.LoadFile("Bliss.jpg") ;载入原始图片
$IP.Filters.Add($IP.FilterInfos("Convert").FilterID)
$IP.Filters(1).Properties("FormatID").Value = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}" ;这里的格式可以自行设定,见附表
$IP.Filters(1).Properties("Quality").Value = 100 ;图片质量
$Img = $IP.Apply($Img) ;应用
$Img.SaveFile("BlissCompressed.bmp") ;保存转换后的图片
以下是最佳选择函数。
新版一样集成有GDIPlus.au3函数。不可能抛弃的:(
http://www.autoitx.com/forum.php?mod=viewthread&tid=994&extra=page%3D1&frombbs=1 很感谢大家的回答,非常高兴连sanhen和参与近来了,可是如果要设置html壁纸,怎么办呢。 狂汗....
你应该去另立个新的问题了.
``````````````````````````````
我倒..
还有这样的?
LZ非常不厚道.
页:
[1]
2