SimpsoN_Bart Posted June 20, 2013 Share Posted June 20, 2013 Bu ufak programla masaüstü arkaplan resminizi kolayca değiştirebilirsiniz.. GUI arayüzü koymaya şimdilik gerek duymadım, Sistem Tepsisinde çalışıyor. Windows 7 nin böyle bir özelliği var. XP kullanırken çok sevdiğim bir özellik olduğundan bunu geliştirdim, sizinde işinize yarayabilir diye paylaşıyorum.Geliştirmeye açık bir proje.Umarım işinize yarar.Kolay gelsin. Bonus olarak paket içine 10 Adet HD Wallpaper Koydum.İyi günlerde Kullanın. #RequireAdmin #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=image.ico #AutoIt3Wrapper_Compression=3 #AutoIt3Wrapper_Res_Comment=BartSimpson #AutoIt3Wrapper_Res_Description=Random WallPaper Changer #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Res_LegalCopyright=S.K CODER (C) 2013 | TNCTR #Obfuscator_Parameters=/striponly #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <File.au3> #include <Array.au3> #include <GDIPlus.au3> Opt("TrayMenuMode", 1) Opt("TrayOnEventMode", 1) If UBound(ProcessList(@ScriptName)) > 2 Then MsgBox(16, "Hata!", "Zaten çalışan bir program mevcut!", 5) Exit 0 EndIf Global $PIC_FOLDER = IniRead("Settings.ini", "Path", "PicPath", @ScriptDir) Global $EXT_PICS[6] $EXT_PICS[0] = 5 $EXT_PICS[1] = 'jpeg' $EXT_PICS[2] = 'jpg' $EXT_PICS[3] = 'png' $EXT_PICS[4] = 'bmp' Global $TEMPFILE_PATH = @TempDir & "\+~RandomWallPaper~+.bmp" Global $BACKUP_FILE_PATH = @TempDir & "\+~RandomWallPaperBackUp~+.bmp" $RANDOM_WALL = TrayCreateItem("Rastgele Masaüstü ArkaPlanı") $UNDO = TrayCreateItem("Önceki Masaüstü ArkaPlanı") $PIC_PATH = TrayCreateItem("Resimler Klasörünü Seç...") $ABOUT = TrayCreateItem("Hakkında") TrayCreateItem("") $EXIT = TrayCreateItem("Çıkış") TrayItemSetOnEvent($RANDOM_WALL, "_SetRandomWallPaper") TrayItemSetOnEvent($PIC_PATH, "_PicPath") TrayItemSetOnEvent($UNDO, "_Undo") TrayItemSetOnEvent($EXIT, "_Exit") TrayItemSetOnEvent($ABOUT, "_ABOUT") Global $PICS = _FileListToArrayEx($PIC_FOLDER, $EXT_PICS) If $PICS = 0 Then _PathInValid() While 1 Sleep(100) WEnd Func _SetRandomWallPaper() TrayItemSetState($RANDOM_WALL, 4) If FileExists($TEMPFILE_PATH) Then FileCopy($TEMPFILE_PATH, $BACKUP_FILE_PATH, 1) _GDIPlus_Startup() $BMP_WALL = _GDIPlus_BitmapCreateFromFile($PIC_FOLDER & "\" & $PICS[Random(1, $PICS[0], 1)]) _GDIPlus_ImageSaveToFile($BMP_WALL, $TEMPFILE_PATH) _GDIPlus_BitmapDispose($BMP_WALL) _GDIPlus_Shutdown() _SetWallPaper($TEMPFILE_PATH) EndFunc ;==>_SetRandomWallPaper Func _PicPath() TrayItemSetState($PIC_PATH, 4) $PIC_FOLDER_TEMP = FileSelectFolder("Resimlerin bulunduğu dizini seçin", "", 7, $PIC_FOLDER) If Not @error And IsArray(_FileListToArrayEx($PIC_FOLDER_TEMP, $EXT_PICS)) Then If StringRight($PIC_FOLDER_TEMP, 1) = "\" Then $PIC_FOLDER_TEMP = StringTrimRight($PIC_FOLDER_TEMP, 1) $PIC_FOLDER = $PIC_FOLDER_TEMP $PICS = _FileListToArrayEx($PIC_FOLDER, $EXT_PICS) IniWrite("Settings.ini", "Path", "PicPath", $PIC_FOLDER) Return 1 EndIf Return 0 EndFunc ;==>_PicPath Func _PathInValid() Switch MsgBox(52, "Uyarı!", "Belirlediğiniz yolda uyumlu resim dosyaları yok veya yol geçersiz.Şimdi yolu tekar belirlemek ister misiniz?") Case 6 If Not _PicPath() Then _PathInValid() Case 7 MsgBox(64, "Bilgi", "Lütfen Resim Dosyalarınızın Bulunduğu Klasörü Seçin.Aksi Takdirde Rastgele Masaüstü ArkaPlanı Değişikliği Yapamazsınız.") TrayItemSetState($RANDOM_WALL, 128) EndSwitch EndFunc ;==>_PathInValid Func _FileListToArrayEx($PATH, $_EXT) If Not IsArray($_EXT) Then Return SetError(1, 0, 0) Local $FILES_RAW = _FileListToArray($PATH, '*', 1) Local $FILES_RETURN[1] For $I = 1 To $FILES_RAW[0] $EXT_TMP = StringRight($FILES_RAW[$I], StringLen($FILES_RAW[$I]) - StringInStr($FILES_RAW[$I], ".", 0, -1)) $VALID = False For $J = 1 To $_EXT[0] If $EXT_TMP = $_EXT[$J] Then $VALID = True Next If $VALID = True Then _ArrayAdd($FILES_RETURN, $FILES_RAW[$I]) Next If UBound($FILES_RETURN) <= 1 Then Return SetError(2, 0, 0) $FILES_RETURN[0] = UBound($FILES_RETURN) - 1 Return $FILES_RETURN EndFunc ;==>_FileListToArrayEx Func _Undo() TrayItemSetState($UNDO, 4) If FileExists($BACKUP_FILE_PATH) Then FileCopy($TEMPFILE_PATH, $TEMPFILE_PATH & '.copybuffer', 1) FileCopy($BACKUP_FILE_PATH, $TEMPFILE_PATH, 1) FileCopy($TEMPFILE_PATH & '.copybuffer', $BACKUP_FILE_PATH, 1) FileDelete($TEMPFILE_PATH & '.copybuffer') _SetWallPaper($TEMPFILE_PATH) EndIf EndFunc ;==>_Undo Func _SetWallPaper($IMAGE_PATH) RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallPaper", "REG_SZ", 0) RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", "REG_SZ", -1) RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "Wallpaper", "REG_SZ", $IMAGE_PATH) DllCall("user32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $IMAGE_PATH, "int", BitOR(1, 2)) EndFunc ;==>_SetWallPaper Func _EXIT() Exit EndFunc ;==>_EXIT Func _ABOUT() Local $RTN = DllCall("shell32.dll", "long", "ShellAboutA", "ptr", "hwnd", "str", "Random WallPaper Changer", "str", "© " & @YEAR & " SimpsoN_Bart | TNCTR.COM", "long", 0) If @error Then SetError(1, 0, 0) Return $RTN EndFunc ;==>_ABOUT Paket içeriği : Program + Kaynak Kod + 10 Adet HD Wallpaper https://www.box.com/s/c2o8i1rxgl7b8z93108v Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.