So hab jetzt nochmal einiges geändert
. Neue Version siehe Post 1.
Beiträge von name22
-
-
[autoit]
If FileExists($Pfad2 & $File1) = 0 Then
[/autoit]
Das überprüft doch ob die Datei nicht existiert und führt dann die If Abfrage aus... -
Um welches Programm handlet es sich denn? Meißtens ist es besser mit ControlClick zu arbeiten, da erstens keine Koordinaten benötigt werden und zweitens das ganze auch bei einem minimierten Fenster funktionniert.

-
Ich glaube mit einem ListView könnte das gehen...

-
Alles Gute zum Geburtstag Blume
.
Feier schön... -
[autoit]
_INetMail
[/autoit]könte helfen ;).
-
Zitat
Dachte nur, dass das auslesen per DLLStruct vllt eine Hilfe wäre

Ich kannte das halt schon aus der Hilfe ;). -
Diese Funktion ist zu langsam:
[autoit]_ScreenCapture_Capture()
[/autoit]
Und das überprüfen dauert auch zu lange...
Wir haben schon an einer eigenen ScreenShot Funktion gearbeitet, und sind auch schon recht weit gekommen aber die Pixeldaten in ein Array einzulesen ist nicht das Problem ;). -
Zitat
Darf ich daraus einfach den Code daraus übernehmen?
Das fragst am besten eukalyptus ;). -
Vielleicht funktioniert es nicht bei jedem Programm
. -
Dieses Mini Script Sucht alle Bilder im
Scriptverzeichniseigestellten Verzeichnis und setzt zufällig Eines als neuen Desktophintergrund (Ja ich weiß, dass das nichts besonderes ist).
Unterstützte Dateiformate: jpg; png; bmp; gifSpoiler anzeigen
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
#include <GDIPlus.au3>Opt("TrayMenuMode", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("TrayOnEventMode", 1)Global $sPicFolder = IniRead("Settings.ini", "Paths", "PicPath", @ScriptDir)
[/autoit] [autoit][/autoit] [autoit]Global $aExtPics[6]
[/autoit] [autoit][/autoit] [autoit]
$aExtPics[0] = 5$aExtPics[1] = 'jpeg'
[/autoit] [autoit][/autoit] [autoit]
$aExtPics[2] = 'jpg'
$aExtPics[3] = 'png'
$aExtPics[4] = 'bmp'
$aExtPics[5] = 'gif'$sTempFilePath = @TempDir & "\+~RandomWallPaper~+.bmp"
[/autoit] [autoit][/autoit] [autoit]
$sBackUpFilePath = @TempDir & "\+~RandomWallPaperBackUp~+.bmp"$cRandomWallpaper = TrayCreateItem("Zufälliges WallPaper")
[/autoit] [autoit][/autoit] [autoit]
$cUndo = TrayCreateItem("Letztes WallPaper wiederherstellen")
$cPicPath = TrayCreateItem("Bilderpfad auswählen")
$cExit = TrayCreateItem("Beenden")TrayItemSetOnEvent($cRandomWallpaper, "_SetRandomWallPaper")
[/autoit] [autoit][/autoit] [autoit]
TrayItemSetOnEvent($cPicPath, "_PicPath")
TrayItemSetOnEvent($cUndo, "_Undo")
TrayItemSetOnEvent($cExit, "_Exit")$aPics = _FileListToArrayEx($sPicFolder, $aExtPics)
[/autoit] [autoit][/autoit] [autoit]
If $aPics = 0 Then _PathInValid()While Sleep(100)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _SetRandomWallPaper()
[/autoit] [autoit][/autoit] [autoit]
TrayItemSetState($cRandomWallpaper, 4)
If FileExists($sTempFilePath) Then FileCopy($sTempFilePath, $sBackUpFilePath, 1)_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$hBitmapWallPaper = _GDIPlus_BitmapCreateFromFile($sPicFolder & "\" & $aPics[Random(1, $aPics[0], 1)])
_GDIPlus_ImageSaveToFile($hBitmapWallPaper, $sTempFilePath)
_GDIPlus_BitmapDispose($hBitmapWallPaper)
_GDIPlus_Shutdown()_SetWallPaper($sTempFilePath)
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_SetRandomWallPaperFunc _PicPath()
[/autoit] [autoit][/autoit] [autoit]
TrayItemSetState($cPicPath, 4)
$sPicFolderTmp = FileSelectFolder("Dateipfad auswählen", "", 7, $sPicFolder)
If Not @error And IsArray(_FileListToArrayEx($sPicFolderTmp, $aExtPics)) Then
If StringRight($sPicFolderTmp, 1) = "\" Then $sPicFolderTmp = StringTrimRight($sPicFolderTmp, 1)
$sPicFolder = $sPicFolderTmp
$aPics = _FileListToArrayEx($sPicFolder, $aExtPics)
IniWrite("Settings.ini", "Paths", "PicPath", $sPicFolder)
Return 1
EndIf
Return 0
EndFunc ;==>_PicPathFunc _PathInValid()
[/autoit] [autoit][/autoit] [autoit]
Switch MsgBox(52, "Fehler", "Im angegebenen Pfad wurden keine kompatiblen Bilddateien gefunden oder der Pfad ist ungültig. Möchten sie den Pfad jetzt neu bestimmen?")
Case 6
If Not _PicPath() Then _PathInValid()
Case 7
MsgBox(64, "Info", "Da keine Bilder gefunden wurden sind einige Funktionen des Programms deaktiviert, wenn sie einen neuen Pfad zu ihren Bildern auswählen möchten klicken sie auf 'Bilderpfad auswählen'.")
TrayItemSetState($cRandomWallpaper, 128)
EndSwitch
EndFunc ;==>_PathInValidFunc _FileListToArrayEx($sPath, $aExt)
[/autoit] [autoit][/autoit] [autoit]
If Not IsArray($aExt) Then Return SetError(1, 0, 0)Local $aFilesRaw = _FileListToArray($sPath, '*', 1)
[/autoit] [autoit][/autoit] [autoit]
Local $aFilesReturn[1]For $i = 1 To $aFilesRaw[0]
[/autoit] [autoit][/autoit] [autoit]
$sExtTmp = StringRight($aFilesRaw[$i], StringLen($aFilesRaw[$i]) - StringInStr($aFilesRaw[$i], ".", 0, -1))
$bValid = False
For $j = 1 To $aExt[0]
If $sExtTmp = $aExt[$j] Then $bValid = True
Next
If $bValid = True Then _ArrayAdd($aFilesReturn, $aFilesRaw[$i])
Next
If UBound($aFilesReturn) <= 1 Then Return SetError(2, 0, 0)
$aFilesReturn[0] = UBound($aFilesReturn) - 1
Return $aFilesReturn
EndFunc ;==>_FileListToArrayExFunc _Undo()
[/autoit] [autoit][/autoit] [autoit]
TrayItemSetState($cUndo, 4)
If FileExists($sBackUpFilePath) Then
FileCopy($sTempFilePath, $sTempFilePath & '.copybuffer', 1)
FileCopy($sBackUpFilePath, $sTempFilePath, 1)
FileCopy($sTempFilePath & '.copybuffer', $sBackUpFilePath, 1)
FileDelete($sTempFilePath & '.copybuffer')
_SetWallPaper($sTempFilePath)
EndIf
EndFunc ;==>_UndoFunc _SetWallPaper($sImagePath)
[/autoit] [autoit][/autoit] [autoit]
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", $sImagePath)
DllCall("user32.dll", "int", "SystemParametersInfo", "int", 20, "int", 0, "str", $sImagePath, "int", BitOR(1, 2))
EndFunc ;==>_SetWallPaperFunc _Exit()
[/autoit]
Exit
EndFunc ;==>_Exit
Edit: Großes Update
!Änderungen:
- TrayMenu hinzugefügt
- Einstellungen hinzugefügt
- Bessere Überprüfung des Bilderpfads
- Undo Funktion
- Kleinere Bugs behoben -
[autoit]Zitat
//Edit: Wie kann man denn noch mal prüfen, ob nur Zahlen in einem String sind?If IsNumber($String) Then ...
[/autoit] -
Zitat
Ich rede von einem Programm, womit man alle Aktionen die man macht, in eine avi-datei aufnimmt!
Praktisch das gleiche wie Camtasia
Dazu brauchst du die Avi-Writer UDF und ein bisschen GDI+/WinAPI Fachwissen ;). Deswegen fragte ich, ob ich dir dabei helfen könnte.Edit:
ZitatDanke! Wann fangen wir an? Soll ich mich zuerst um die Benutzeroberfläche kümmern?
Wenn du möchtest, gerne.
Ich würde mich gerne um eine schnelle Screenshot Funktion kümmern (Ich hab mit Sprenger, yxyx und ein paar anderen mal so etwas Ähnliches versucht :)). -
Zitat
so änlich wie Camtasia programmieren könnte
Wie, so ähnlich? Redest du von der Desktop Aufzeichnen Funktion? Wenn ja würde ich dir dabei gerne helfen :D.Edit: BTW mal zu deiner Signatur:
ZitatWird AutoIT eigentlich AutoIT(so wie mans liest) oder AutoIT(gesprochen: AutoEiTi) gesprochen?
Ersteres :D.
-
Zitat
-GDI+ Betriebsystem
Öhm, was?
GDI+ ist der Name einer DLL im System32 Verzeichnis, und ich bezweifle, dass man damit ohne Weiteres ein Betriebssystem machen kann
.
Du meinst eine Art AutoIt GDI+ Desktop, oder?
Eine Idee kann ich dir leider nicht geben, denn alles was ich an Ideen habe und umsetzen kann wird gescriptet
. -
Zitat
er öffnet mir die datei leider nicht im Notepad
... Rechtsklick -> Öffnen mit... -> Editor :pinch: .
Es gibt glaube ich keine Datei die du nicht im Editor öffnen kannst.
-
-
-
Zitat
hab ich was verpasst?

Ich meinte sein Tutorial ;). Seit das im Forum ist haben einige Leute mehr als sonst mit GDI+ angefangen. -
Zitat
Danke name22

Büdde :D.
Aus deinem runden Slider könnte man auch einen Drehknopf machen (ich würde auch gerne helfen :)).