Dubler Posted November 14, 2011 Share Posted November 14, 2011 (edited) Hi, i'm trying to change my wallpaper, but desktop don't want refresh ;/ how to solve it? i'm using[ RegWrite("HKCUControl PanelDesktop", "Wallpaper", "REG_SZ", @AppDataDir & "tapetka.jpg" ) EnvUpdate() or Dll call Edited November 14, 2011 by Dubler Link to comment Share on other sites More sharing options...
guinness Posted November 14, 2011 Share Posted November 14, 2011 Search the forum for _WinAPI_SystemParametersInfo & wallpaper, you'll get a lot of posts about the subject. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Dubler Posted November 14, 2011 Author Share Posted November 14, 2011 i used this func and not work too: expandcollapse popupFunc _ChangeDesktopBackground($sFile, $iPosition=3) Local $sCLSID, $tBuffer, $hImage, $sTemp ; Convert JPG image to BMP image _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile($sFile) $sCLSID = _GDIPlus_EncodersGetCLSID("BMP") $sTemp = _Str_ChangeFileExt($sFile, ".bmp") _GDIPlus_ImageSaveToFile($hImage, $sTemp) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() ; Set wallpaper position Switch $iPosition Case 1; Tile RegWrite('HKCUControl PanelDesktop', 'TileWallpaper' , 'reg_sz', '1') RegWrite('HKCUControl PanelDesktop', 'WallpaperStyle', 'reg_sz', '0') Case 2; Center RegWrite('HKCUControl PanelDesktop', 'TileWallpaper' , 'reg_sz', '0') RegWrite('HKCUControl PanelDesktop', 'WallpaperStyle', 'reg_sz', '0') Case 3; Stretch RegWrite('HKCUControl PanelDesktop', 'TileWallpaper' , 'reg_sz', '0') RegWrite('HKCUControl PanelDesktop', 'WallpaperStyle', 'reg_sz', '2') EndSwitch ; Set wallpaper $tBuffer = DllStructCreate("char Text[" & StringLen($sTemp) + 1 & "]") DllStructSetData($tBuffer, "Text", $sTemp) _WinAPI_SystemParametersInfo($SPI_SETDESKWALLPAPER, 1, DllStructGetPtr($tBuffer), BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE)) EndFunc Func _Str_ChangeFileExt($sFileName, $sExtension) Local $iIndex $iIndex = _Str_LastDelimiter(".:", $sFileName) if ($iIndex = 0) or (StringMid($sFileName, $iIndex, 1) <> ".") then $iIndex = StringLen($sFileName) + 1 Return StringLeft($sFileName, $iIndex - 1) & $sExtension EndFunc Func _Str_LastDelimiter($sDelimiters, $sString) Local $iI, $iN, $sDelimiter for $iI = 1 to StringLen($sDelimiters) $sDelimiter = StringMid($sDelimiters, $iI, 1) $iN = StringInStr($sString, $sDelimiter, 0, -1) if $iN > 0 then Return $iN next EndFunc Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now