1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Script-Bär

Beiträge von Script-Bär

  • Win7 Logon-Bild Wechsler

    • Script-Bär
    • 11. April 2010 um 18:52

    Hallo @ all,
    ich hab mal eine 2. version des Skriptes geschrieben.

    Änderungen:

    • Korrekturen von ideas2Code eingebunden
    • ImageDispose eingebunden
    • Skalierfunktion eingebunden (meintet ihr das so :?: )
    Und hier Version 2:
    [autoit]

    #cs ============================
    Name: Win7 Logon-Bild Wechsler
    Version: 2
    Datum: 11.4.2010
    Autor: Script-Bär
    #ce ;===========================

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <skalieren.au3>
    #include <WinAPI.au3>
    #RequireAdmin
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    If @OSVersion <> "WIN_7" Then
    MsgBox(16, "Fehler", "Dein Betriebssystem ist nicht Windows 7.")
    Exit
    EndIf
    Opt('MustDeclareVars', 1)
    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $ExitID

    [/autoit] [autoit][/autoit] [autoit]

    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    Local $createID, $DeleteID
    GUICreate("Custom Msgbox", 300, 80)
    GUICtrlCreateLabel("Bitte wählen sie eine Aktion aus. ", 10, 10)
    GUICtrlCreateLabel("Aktueller Status: ", 10, 30)
    If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground") = 1 Then
    GUICtrlCreateLabel(">Benutzerdifiniert< ", 100, 30)
    Else
    GUICtrlCreateLabel(">Standart< ", 100, 30)
    EndIf
    $createID = GUICtrlCreateButton("Anmeldebildschirm verändern.", 10, 50)
    GUICtrlSetOnEvent($createID, "OnCreate")
    $DeleteID = GUICtrlCreateButton("Standart wiederherstellen.", 170, 50)
    GUICtrlSetOnEvent($DeleteID, "OnDelete")
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(1000)
    WEnd
    EndFunc ;==>_Main

    [/autoit] [autoit][/autoit] [autoit]

    Func OnDelete()
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground")
    If @error = 0 Then
    MsgBox(16, "Fehler", "Registry-Wert konnte nicht gelöscht werden. Bitte manuell löschen." & @CRLF & "" & @CRLF & "Registry-Wert:" & @CRLF & "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background\OEMBackground")
    Else
    MsgBox(0, "Info", "Registry-Wert erfolgreich gelöscht.")
    EndIf
    MsgBox(48, "ACHTUNG!", "Nun wird ein Befehl ausgeführt der den selben effekt wie ein Neustart hat.")
    EnvUpdate()
    EndFunc ;==>OnDelete

    [/autoit] [autoit][/autoit] [autoit]

    Func OnExit()
    Exit
    EndFunc ;==>OnExit

    [/autoit] [autoit][/autoit] [autoit]

    Func OnCreate()
    Local $Bild, $BildL, $hGraphicsImg, $hBitMap, $hImage, $X, $y, $Ba, $BMa1, $Bma, $nB, $nH

    [/autoit] [autoit][/autoit] [autoit]

    If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground") <> 1 Then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground", "REG_DWORD", "1")
    MsgBox(0, "Info", "Registry-Wert wurde erstellt")
    If @error <> 0 Then
    MsgBox(16, "Fehler", "Registry-Wert konnte nicht erstellt werden!")
    EndIf
    Else
    MsgBox(0, "Info", "Registry-Wert exsistiert berits!")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists(@HomeDrive & "\Windows\System32\oobe\info\backgrounds") Then
    MsgBox(4096, "Info", "Erforderliches Verzeichnis existiert bereits.")
    Else
    DirCreate(@HomeDrive & "\Windows\System32\oobe\info\backgrounds")
    MsgBox(4096, "Info", "Erforderliches Verzeichnis wurde erstellt.")
    EndIf
    $Bild = FileOpenDialog("Bitte Bild auswählen.", "@DesktopDir", "JPG-Bild (*.jpg;*.JPG)", 1)
    GUICreate( "Ausgewähltes Bild" )
    GUICtrlCreatePic( $Bild, -1, -1 )
    GUISetState()
    $Ba = MsgBox(36, "Frage", "Ist dass ihr Bild?")
    If $Ba = 7 Then
    While $Ba <> 6
    $Bild = FileOpenDialog("Bitte Bild auswählen.", "@DesktopDir", "Bild (*.bmp)", 1)
    GUICreate( "title" )
    GUICtrlCreatePic( $Bild, -1, -1 )
    GUISetState()
    $Ba = MsgBox(36, "Frage", "Ist dass ihr Bild?")
    WEnd
    EndIf
    _GDIPlus_Startup()
    $BildL = _GDIPlus_ImageLoadFromFile($Bild)
    $X = _GDIPlus_ImageGetWidth($BildL)
    $y = _GDIPlus_ImageGetHeight($BildL)
    If $X <> @DesktopWidth Or $y <> @DesktopHeight Then
    MsgBox(16, "Fehler", "Die Bildgrösse entspricht nicht der Dektopauflösung")
    $BMa1 = MsgBox(36, "Frage", "Wollen sie die Abmaße des Bildes ändern?")
    If $BMa1 = 6 Then
    $nB = InputBox( "Frage", "Bitte geben sie die neue Breite des Bildes ein." )
    $nH = InputBox( "Frage", "Bitte geben sie die neue Höhe des Bildes ein." )
    _ImageResize($Bild, @HomeDrive & "\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg", $nB, $nH)
    EnvUpdate()
    Else
    Exit
    EndIf
    If FileGetSize($Bild) > 262144 Then
    MsgBox(16, "Fehler", "Bild ist zu groß (über 256 KB).")
    Exit
    EndIf
    $BMa2 = MsgBox(36, "Frage", "Wollen sie die Abmaße des Bildes ändern?")
    If $BMa2 = 6 Then
    $nB = InputBox( "Frage", "Bitte geben sie die neue Breite des Bildes ein." )
    $nH = InputBox( "Frage", "Bitte geben sie die neue Höhe des Bildes ein." )
    _ImageResize($Bild, @HomeDrive & "\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg", $nB, $nH)
    _GDIPlus_ImageDispose ($Bild)
    Else
    _GDIPlus_ImageDispose ($Bild)
    FileCopy($Bild, @HomeDrive & "\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg", 1)
    If @error <> 0 Then
    MsgBox(16, "Fehler", "Bild kann nicht kopiert werden.")
    EndIf
    EndIf
    EnvUpdate()
    EndIfEndFunc ;==>OnCreate

    [/autoit]

    Downloads:
    Skript:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Include-Datei (für's Skalieren):
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Habt ihr noch andere Vorschläge/gefundene Fehler? ;)

    Dateien

    Script2.au3 4,96 kB – 564 Downloads skalieren.au3 4,03 kB – 556 Downloads
  • AutoIt Matrix Wallpaper

    • Script-Bär
    • 11. April 2010 um 18:30

    Die Bilder erinnern mich irgendwie daran:
    http://www.autoitscript.com/autoit3/files/…l_1920x1200.jpg

  • Win7 Logon-Bild Wechsler

    • Script-Bär
    • 9. April 2010 um 21:19

    Dabnke für eure Antworten!

    Danke an ideas2code für die Korrekturen. :thumbup:

    Aber ich habe noch ein paar Fragen: ?(

    • Wofür wäre ImageDispose gut ? Warum muss das Bild denn wieder freigegeben werden?
    • Wie meint ihr das mit einer Skalierfunktion ? Soll man damit das Bild zuschneiden können? Und wie müsste ich das in das Skript intigrieren?

    Zu euren Fragen:

    • Das Skript habe ich so geschrieben das es eine Anleitung automatiesiert.
    • FileMove habe ich benutzt damit die Datei im Zielverzeichniss auch umbennant wird. Aber das geht wohl auch mit FielCopy.
    • Schnitzel: "Das is übrigens seit mindestens Win XP möglich." Ja, stimmt. Aber unter Win XP/Vista war Zusatzsoftware (LogonStudio/TuneUp) nötig.

    Habt ihr vielleicht noch andere Ideen/Vorschläge/Gefundene Fehler?

  • Win7 Logon-Bild Wechsler

    • Script-Bär
    • 8. April 2010 um 23:10

    Hallo @all!
    Ich hab mal ein bischen gekoodet:
    In Windows 7 ist es ja möglich den hintergrund des Anmelde-Bildschirms zu ändern.
    Also habe ich dafür einen Skript geschrieben.

    Der Skript kann:
    - Den Hintergrund wechseln
    - Den Hintergrund auf den Standart zurücksetzen.
    - Anzeigen ob der Hintergrund standart oder Benutzerdefienirt ist.

    Ich habe ledider (noch) keinen Win7 Pc. Deshalb konnte ich das Skript noch nicht testen.
    theoretisch müsste alles klappen.
    Ich bitte also um rückmeldung!

    Und hier der Skript:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <GDIPlus.au3>
    #RequireAdmin
    #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    If @OSVersion <> "WIN_7" then
    MsgBox(16, "Fehler", "Dein Betriebssystem ist nicht Windows 7.")
    Exit
    EndIf
    Opt('MustDeclareVars', 1)
    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $ExitID

    [/autoit] [autoit][/autoit] [autoit]

    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    Local $createID, $DeleteID

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Custom Msgbox", 300, 80)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Bitte wählen sie eine Aktion aus. ", 10, 10)
    GUICtrlCreateLabel("Aktueller Status: ", 10, 30)
    If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground") = 1 then
    GUICtrlCreateLabel(">Benutzerdifiniert< ", 100, 30)
    Else
    GUICtrlCreateLabel(">Standart< ", 100, 30)
    EndIf
    $CreateID = GUICtrlCreateButton("Anmeldebildschirm verändern.", 10, 50)
    GUICtrlSetOnEvent($CreateID, "OnCreate")
    $DeleteID = GUICtrlCreateButton("Standart wiederherstellen.", 170, 50)
    GUICtrlSetOnEvent($DeleteID, "OnDelete")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(1000)
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func OnDelete()
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground")
    If @error = 0 Then
    MsgBox(16, "Fehler", "Registry-Wert konnte nicht gelöscht werden. Bitte manuell löschen." & @CRLF & "" & @CRLF & "Registry-Wert:" & @CRLF & "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background\OEMBackground")
    Else
    MsgBox(0, "Info", "Registry-Wert erfolgreich gelöscht.")
    EndIf
    MsgBox(48, "ACHTUNG!", "Nun wird ein Befehl ausgeführt der den selben effekt wie ein Neustart hat.")
    EnvUpdate()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func OnExit()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func OnCreate()
    If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground" ) <> 1
    Then RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground", "REG_DWORD", "1") and MsgBox(0, "Info", "Registry-Wert wurde erstellt")
    If @error <> 0 Then
    MsgBox(16, "Fehler", "Registry-Wert konnte nicht erstellt werden!")
    Else
    MsgBox(0, "Info", "Registry-Wert exsistiert berits!")
    Endif

    If FileExists(@HomeDrive & "\Windows\System32\oobe\info\backgrounds") Then
    MsgBox(4096, "Info", "Erforderliches Verzeichnis wurde erstellt.")
    Else
    DirCreate(@HomeDrive & "\Windows\System32\oobe\info\backgrounds")
    MsgBox(4096, "Info", "Erforderliches Verzeichnis existiert")
    EndIf
    $Bild = FileOpenDialog ( "Bitte Bild auswählen.", "@DesktopDir", "JPG-Bild (*.jpg)" , 1 )
    _GDIPlus_Startup()
    $BildL = _GDIPlus_ImageLoadFromFile($Bild)
    $X = _GDIPlus_ImageGetWidth ($BildL)
    $Y = _GDIPlus_ImageGetHeight ($BildL)
    If $X <> @DesktopWidth Then
    MsgBox(16,"Error","Ihr Bild hat die falsche Breite") Exit
    EndIf
    If $Y <> @DesktopHeight Then
    MsgBox(16,"Error","Ihr Bild hat die falsche Höhe") Exit
    EndIf
    If FileGetSize($Bild) > 262144 Then
    MsgBox(16, "Fehler", "Bild ist zu groß (über 256 KB).") Exit
    EndIf

    MsgBox(48, "ACHTUNGG!", "Ihr bild wird verschoben. " & @CRLF & "Das Bild ist anschlisend nicht mehr im Quellverzeichniss vorhanden.")
    FileMove($Bild, @HomeDrive & "\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg" , 1)
    If @error <> 0 Then MsgBox(16, "Fehler", "Bild kann nicht kopiert werden.")
    MsgBox(48, "ACHTUNG!", "Nun wird ein Befehl ausgeführt der den selben effekt wie ein Neustart hat.")
    EnvUpdate()
    EndFunc

    [/autoit]


    Viel Spaß! ;)

    Dateien

    Skript.au3 3,31 kB – 598 Downloads
  • Windows 7 LoginScreen wechseln

    • Script-Bär
    • 8. April 2010 um 21:05

    Komplette Lösung: (Ja, ich hatte vorhin was vergessen :whistling: )
    1. Am anfang #Include <GDIPlus.au3> einfügen.
    2. Nach #RequireAdmin _GDIPlus_Startup() einfügen.
    3. _GetExtProperty($pfad,27) durch _GDIPlus_ImageGetWidth ersetzen
    4. _GetExtProperty($pfad,2) durch _GDIPlus_ImageGetHeight erstzen

    So müsste es klappen.
    Ich hab leider (noch) keinen Win7 PC.
    Also weiß ich nicht ob es so klappt. Also wäre es schön wenn ich antworten bekomme.

  • _GDIPlus_ImageGetWidth und _GDIPlus_ImageGetHeight

    • Script-Bär
    • 8. April 2010 um 20:58

    Oh Ja, Stimmt. ;)

  • _GDIPlus_ImageGetWidth und _GDIPlus_ImageGetHeight

    • Script-Bär
    • 8. April 2010 um 20:51

    Ich hab ein Problem mit _GDIPlus_ImageGetWidth und _GDIPlus_ImageGetHeight.
    Skript:

    [autoit]

    #Include <GDIPlus.au3>

    [/autoit][autoit][/autoit][autoit]

    $hImage = _GDIPlus_ImageLoadFromFile("C:\1.jpeg")
    $X = _GDIPlus_ImageGetWidth ($hImage)
    $Y = _GDIPlus_ImageGetHeight ($hImage)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "TEST", "Weite: " & $X & " Höhe: " & $Y)

    [/autoit]


    Das ergibt bei mir immer -1. [Blockierte Grafik: http://9vjicq.blu.livefilestore.com/y1pdLPNzZ1nP5JxO3AyDJ7PD1cPgjg4h9mga3LQ2hjPhgveR0HSR3wL07M-im5YWtvr27RIO6x-PcJCtAD_Fq7cOTcA4_dmCaJC/Unbenannt.bmp]

    Weiß Jemand wo der Fehler liegt?
    ist das Dateiformat vielleicht falsch?

  • ProgressBar mit DirCopy "Syncronisieren"

    • Script-Bär
    • 1. April 2010 um 14:53

    Gibtes eine Möglichkeit die ProgressBar so zu verändern das der
    Fortschritt einer DirCopy-Aktion angezegt wird?
    Also das die ProgressBar den Fortschritt des Kopirens anzeigt.
    Ich bin schon so weit:

    Spoiler anzeigen
    [autoit]

    DirCopy ( "C:\TEST", "D:?TEST_KOPIE" , 1 ); Zuerst wird der Ordner / Datei kopiert

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then ; Dann wird der Vorgang auf Fehler überprrüft
    MsgBox(0, "FEHLER", "Es ist ein Fehler aufgetreten.")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ProgressOn("Fortschritt", "Kopiren der Datei", "0 Prozent"); Jetzt wird das Vortschrittt-Fenster erstellt
    ;UND WIE GEHT ES WEITER ???

    [/autoit]

    Ist mein Anstz richtig oder denk ich da völlig falsch?
    Ich hab schon im Forum gesucht, aber nichts gefunden.
    Weiß jemand die Lösung? ?(

  • Amazon.de-Preisticker

    • Script-Bär
    • 16. Januar 2010 um 23:34

    Danke, ich werde es mal ausprobieren!

  • Amazon.de-Preisticker

    • Script-Bär
    • 16. Januar 2010 um 12:15

    !!!! Soweit ich weiß ist dieser skript erlaubt ;) , wenn nicht bitte benarchichtne !!!!
    Hallo Leute,
    ich habe folgende Idee für ein Skript:
    Bei Amazon.de ändern sich die Preise (manchmal Schnell, manchmal weniger schnell) (nicht so Wichtig :rolleyes: )
    Weiß jemand wie man ein Skript kodet, dass Die folgende 2 Amazon.de-Produkt-Adressen immer 1x in einer Stunde überprüft, und bei Preis-Änderung einen Tool-Tip anzeigt? Ist dass überhaupt möglich?
    Links:
    1. http://www.amazon.de/Archos-Pctablet-Netbook-1-1GHz-Starter/dp/B002SSMMGC/ref=sr_1_1?ie=UTF8&s=ce-de&qid=1263636411&sr=8-1-spell

    2: http://www.amazon.de/Windows-Anytime-Upgrade-deutsch-Starter/dp/B002NP5Z6E/ref=sr_1_1?ie=UTF8&s=software&qid=1263636510&sr=8-1-spell

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™