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. mille86

Beiträge von mille86

  • Try and Error - Job

    • mille86
    • 25. Februar 2010 um 16:31

    Hi,
    ich habe in meiner Homepage ein jQuery Switcher. Funktioniert auch wunderbar.
    Allerdings kann ich maximal ein Switcher pro Seite verwenden. Ich würde diese gerne mehrfach untereinander oder verschachtelt verwenden. Ich glaube man muss aus der ID eine Class machen, aber ich bin zufaul bzw. hab dafür zuwenig Zeit, die beiden jQuery Dateien zu durchforsten. Wer kann das für mich herausfinden und sagen worauf es lag?
    10 Euro an den ersten der es schafft oder alternativ 2 DDR-512-SODIMM oder mehrere P3-CPUS / SD-Ram-Module oder einen guten 19 CRT Röhrenmonitor könnte ich dafür anbieten.

  • Kann man das eleganter coden?

    • mille86
    • 24. Februar 2010 um 02:14

    Leiber spät als nie... danke für den Idee-Anstoß!

  • Textdateien effizient editieren

    • mille86
    • 2. Februar 2010 um 15:39

    Hi,
    im neuen AutoIt gibt es ja jetzt mehr Optionen, Dateien zu editieren.
    Bisher mache ich es ja so: Die komplette Datei in einem String eingelesen, mit StrRepl, dann bestimmte Werte geändert, und dann den ganzen String reingeschrieben und dann abgespeichert. Nur kommt es mir ein bisschen umständlich vor, die kompletten 2000 Zeilen zu kopieren, das Wort zu ersetzen und dann die Datei mit 2000 Zeilen neu anzulegen.
    Mit FileSetPos, FileFlush ist ja jetzt gleichzeitiges Lesen und schreiben möglich. Ich kann damit bestimmte Textstellen gezielt herauslesen, ich kann an bestimmten Stellen Text gezielt einfügen. Aber ich kann nichts gezielt ändern? So bleibt mir wieder nichts übrig als den ganzen Text in einem String zu schreiben und die komplette Datei komplett neu anzulegen ?! Vermutlich macht es bei einer Speicherung aber keinen Unterschied wieviel ich ändere, da die Größe identisch ist ??
    Soviele Fragen, ich weiß...
    EDIT:
    In dieser Stunde habe ich dann doch noch selbst was gefunden für die Anforderungen:

    Code
    $datei = FileOpen('temp2.txt', 1)
    FileSetPos($datei, 40, 0)
    $a = FileRead($datei, 25)
    $b = StringRegExpReplace($a, '(?m)(?i:^wert1.*$)', 'wert1 = AndererWert ', 1) ; bei "bis-Zeilenende-ersetzen" sollte nach dem zu schreibenden Wert ein Leerzeichen folgen !
    FileSetPos($datei, 40, 0)
    FileWrite($datei, $b)
    FileClose($datei)
  • Kann man das eleganter coden?

    • mille86
    • 9. Dezember 2009 um 20:14

    Danke an dieser Stelle für das Nikolausgeschenk ^^

  • Kann man das eleganter coden?

    • mille86
    • 6. Dezember 2009 um 23:21

    Moin,
    also ich nutze die GUIGetMsg() Funktion.
    Unter anderem ist dann folgender Code enthalten:

    [autoit]

    Case $GUI_menu[6]
    ShellExecute($ini[6][2])
    Case $GUI_menu[7]
    ShellExecute($ini[7][2])
    Case $GUI_menu[8]
    ShellExecute($ini[8][2])
    Case $GUI_menu[9]
    ShellExecute($ini[9][2])
    Case $GUI_menu[10]
    ShellExecute($ini[10][2])
    Case $GUI_menu[11]
    ShellExecute($ini[11][2])
    Case $GUI_menu[12]
    ShellExecute($ini[12][2])
    Case $GUI_menu[13]
    ShellExecute($ini[13][2])
    Case $GUI_menu[14]
    ShellExecute($ini[14][2])
    Case $GUI_menu[15]
    ShellExecute($ini[15][2])
    Case $GUI_menu[16]
    ShellExecute($ini[16][2])
    Case $GUI_menu[17]
    ShellExecute($ini[17][2])
    Case $GUI_menu[18]
    ShellExecute($ini[18][2])

    [/autoit]

    Im Grunde also ist im jedem Case die notwendige Variable schon enthalten. Ich glaube man könnte sowas nicht in einer Schleife lösen? Oder dass ich zumindest den Wert immer nur einmal schreiben muss und die Fehlerwahrscheinlichkeit kürzt.

  • Computersperre funktioniert nicht!

    • mille86
    • 6. Dezember 2009 um 23:17

    Den Fehler find ich jetzt auch nicht, aber die Computersperre hat keinerlei Auswirkung auf Windows 7.

  • Text auf/vor Progressbar

    • mille86
    • 7. November 2009 um 02:03

    Schon fast zwei Jahre alt, aber wen ebenfalls die Suchfunktion hier verschlagen hat:
    Das Flickern lässt sich leicht lösen. Man muss einfach vor UND nach dem SetData(Progressbar) das Label aktualisieren, also z.B. so:

    [autoit]


    For $i = 0 To 10
    GUICtrlSetData($balkenlabel, $i * 10)
    GUICtrlSetData($balken, $i * 10)
    GUICtrlSetData($balkenlabel, $i * 10)
    Sleep(100)
    Next

    [/autoit]
  • passwortmanager

    • mille86
    • 18. Oktober 2009 um 10:46

    Und wie macht man das, Bugfix?

  • Ordner durchsuchen

    • mille86
    • 18. Oktober 2009 um 10:39

    Moin BugFix,
    deines habe ich mir schon reingezogen.
    Aber meines arbeitet mit absoluten statt relativen Pfaden und ist ca. 3* schneller, dafür aber ohne Dateifilter.

  • Ordner durchsuchen

    • mille86
    • 18. Oktober 2009 um 08:50

    Moin,
    wolltet ihr nicht schon immer alle Dateien und / oder Ordner eines Pfades ermitteln? Hiermit könnt ihr das xD
    Wer will, kann auch ein Dateifilter einbauen, aber ich überprüfe das immer nachträglich, und so ist die Funktion richtig schön schnell =)

    Spoiler anzeigen
    [autoit]

    Func ZeigeDateien($pfad, $typ = 0, $maxAnz = 50000) ; typ=0: Dateien, typ=1: Ordner, typ=2: Alles
    If $typ < 2 Then
    Local $ordner[$maxAnz + 1], $i = 1
    If $typ = 0 Then Local $datei[$maxAnz + 1], $k = 1
    $ordner[0] = $pfad
    For $j = 0 To $maxAnz
    $suchhandle = FileFindFirstFile($ordner[$j] & '\*.*')
    $ordner[$j] &= '\'
    Do
    $objekt = FileFindNextFile($suchhandle)
    If @error Then ExitLoop ; Keine Daten mehr vorhanden
    If StringInStr(FileGetAttrib($ordner[$j] & $objekt), 'D', 2) Then ; Ordner
    If Not StringInStr($ordner[$j] & $objekt, $pfad, 2) Then ExitLoop 2
    $ordner[$i] = $ordner[$j] & $objekt
    $i += 1
    ElseIf $typ = 0 Then
    $datei[$k] = $ordner[$j] & $objekt
    $k += 1
    EndIf
    Until False
    $ordner[$j] = StringTrimRight($ordner[$j], 1) ; entfernt '/' am Ende
    FileClose($suchhandle)
    Next
    If $typ = 0 Then
    ReDim $datei[$k]
    $datei[0] = $k - 1
    Return $datei
    Else
    ReDim $ordner[$j]
    $ordner[0] = $j - 1
    Return $ordner
    EndIf
    Else
    Local $a = ZeigeDateien($pfad, 0)
    Local $b = ZeigeDateien($pfad, 1)
    Local $c[UBound($a) + UBound($b)]
    For $i = 0 To UBound($a) - 1
    $c[$i] = $a[$i]
    Next
    ReDim $b[UBound($b) + 1]
    For $i = UBound($a) To UBound($c) - 1
    $c[$i] = $b[$i - UBound($a) + 1]
    Next
    ReDim $c[UBound($c) - 1]
    $c[0] = UBound($c) - 1
    Return $c
    EndIf
    EndFunc

    [/autoit]
  • Splashtext und Hotkey

    • mille86
    • 18. Oktober 2009 um 08:25

    @ Autobert: Genau das was ich gesucht habe, danke =)
    EDIT: Ich habe an deinem Code bissel rumgespielt, es geht sogar dann ohne Adlib:

    Spoiler anzeigen
    [autoit]

    Func HotKey_Ende()
    If Mod($hotkey_ende, 2) = 0 Then
    SplashTextOn("Ausschalten", "Rechner wird anschließend heruntergefahren", 110, 70, Default, Default, 1, "", 9)
    Else
    SplashTextOn("Programm Beenden", "Rechner bleibt anschließend im Betrieb", 110, 70, Default, Default, 1, "", 9)
    EndIf
    $hotkey_ende += 1
    Sleep(2000)
    SplashOff()
    EndFunc

    [/autoit]


    Das nennt man Teamwork :D

  • Splashtext und Hotkey

    • mille86
    • 17. Oktober 2009 um 13:18

    Hi,
    danke für die Antworten, aber leider funktionieren beide Beispiele nicht:
    Im ersten Beispiel bleibt der Splashtext dauerhaft, statt nach 2 Sek. zu verschwinden und das 2. Beispiel ist im Verhalten meinem Code identisch.
    Ich knobel noch weiter

  • Splashtext und Hotkey

    • mille86
    • 17. Oktober 2009 um 08:46

    Moin moin,
    ich habe ein Hotkey mit zwei Splashtext belegt: 1. Druck: "Text A", 2. Druck: "Text B", 3. Druck "Text A", 4. Druck "Text B" usw.
    Funktioniert auch fast

    [autoit]

    Func HotKey_Ende()
    If Mod($hotkey_ende, 2) = 0 Then
    SplashTextOn("Ausschalten", "Rechner wird anschließend heruntergefahren", 110, 70, Default, Default, 1, "", 9)
    Else
    SplashTextOn("Programm Beenden", "Rechner bleibt anschließend im Betrieb", 110, 70, Default, Default, 1, "", 9)
    EndIf
    Sleep(2000)
    SplashOff()
    $hotkey_ende += 1

    [/autoit]


    bzw. alternativ


    [autoit]

    Func HotKey_Ende()
    If Mod($hotkey_ende, 2) = 0 Then
    SplashTextOn("Ausschalten", "Rechner wird anschließend heruntergefahren", 110, 70, Default, Default, 1, "", 9)
    Else
    SplashTextOn("Programm Beenden", "Rechner bleibt anschließend im Betrieb", 110, 70, Default, Default, 1, "", 9)
    EndIf
    Sleep(2000)
    SplashOff()
    $hotkey_ende += 1
    EndFunc

    [/autoit]


    Nur ändert sich die Anzeige während des Slp(2) nicht, aber der Tastendruck wird registriert. Wie könnte man zur gleichen Zeit den Text ändern? Habs ne Stunde mit allerlei Schleifen probiert, klappt bei mir irgendwie nicht ?(

  • Hackersimulation schreiben

    • mille86
    • 16. Oktober 2009 um 15:55

    Hier mein Quelltext:

    Spoiler anzeigen


    #include
    #include


    If $CmdLine[0] > 0 Then
    $passwort = $CmdLine[1]
    Else
    $passwort = 'test123'
    EndIf

    If $CmdLine[0] > 1 Then
    $cpu = $CmdLine[2]
    Else
    $cpu = 'Quadcore running at ~ 3.002 Mhz'
    EndIf


    $tmp = 0
    ; Tray-Menü
    TraySetState(1)

    ; GUI - Oberfläche
    GUISetIcon('skull.ico')
    $gui_a = GUICreate('OS PASS RECOVERY TOOL bY noobZ', 500, 400, -1, -1) ; $WS_POPUPWINDOW
    GUISetBkColor(0x000000)
    GUICtrlCreateLabel('OS PASS RECOVERY TOOL :' & @CRLF & '************************' & @CRLF & '!!USE OF YOUR OWN RISK!!' & @CRLF & @CRLF & 'PRESS [SPACE] TO START', 5, 10, 300, 100)
    GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
    GUICtrlSetColor(-1, 0xffffff)
    GUISetState()


    ; GUI - Interaktion
    HotKeySet('{Space}', 'HotKey_Space')
    Do
    $aktion = GUIGetMsg()
    Switch $aktion
    Case - 3
    Exit
    EndSwitch
    Until False

    Func HotKey_Space()
    GUIDelete($gui_a)
    $gui_a = GUICreate('ANALYSING....', 550, 400, -1, -1) ; $WS_POPUPWINDOW
    GUISetBkColor(0x000000)
    Global $a[20]
    For $i = 1 To 8 ; WICHTIG +1
    $a[$i] = GUICtrlCreateLabel('', 5, $tmp, 550, 25)
    GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
    GUICtrlSetColor(-1, 0xffffff)
    $tmp += 20
    Next
    GUISetState()
    GUICtrlSetData($a[1], '')
    Warten(3000, $a[1])
    GUICtrlSetData($a[2], 'CPU Architecture: ' & @CPUArch & ' ' & $cpu)
    Warten(500, $a[2])
    GUICtrlSetData($a[3], 'Temporary Process ID: ' & @AutoItPID)
    Warten(1000, $a[3])
    GUICtrlSetData($a[4], 'OS Type: ' & @OSType)
    Warten(500, $a[4])
    GUICtrlSetData($a[5], 'OS Version: ' & @OSVersion)
    Warten(200, $a[5])
    GUICtrlSetData($a[6], 'OS Build: ' & @OSBuild)
    Warten(1000, $a[6])
    GUICtrlSetData($a[7], 'CPU Service Pack: ' & @OSServicePack)
    Warten(2000, $a[7], 1)
    GUIDelete($gui_a)


    $gui_a = GUICreate('BRUTE FORCE....', 550, 70, -1, -1, $WS_POPUPWINDOW)
    GUISetBkColor(0xff0000)
    $a[0] = GUICtrlCreateLabel('BRUTE FORCE.... Take a Coffee', 5, 10, 550, 25)
    GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
    GUICtrlSetColor(-1, 0xffffff)
    $a[1] = GUICtrlCreateLabel('', 5, 30, 550, 25)
    GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
    GUICtrlSetColor(-1, 0xffffff)
    $a[2] = GUICtrlCreateLabel('', 5, 50, 550, 25)
    GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
    GUICtrlSetColor(-1, 0xffffff)
    $a[3] = GUICtrlCreateLabel('', 5, 50, 550, 25)
    GUICtrlSetFont(-1, 12, 400, -1, "Courier New")
    GUICtrlSetColor(-1, 0xffffff)
    GUISetState()

    Local $tmp3, $tmp4

    For $l = 1 To 150
    $tmp3 = ''
    $tmp4 = ''
    $tmp5 = ''

    For $i = 0 To 58
    $tmp3 &= String(Random(0, 1, 1))
    $tmp4 &= String(Random(0, 1, 1))
    $tmp5 &= Chr(Random(65, 122,1 ))
    GUICtrlSetData($a[1], $tmp3)
    GUICtrlSetData($a[2], $tmp4)
    GUICtrlSetData($a[3], $tmp5)
    Next
    Sleep(80)
    Next

    Beep()
    InputBox('FOUND', 'YOUR PASSWORD: ', $passwort)
    Exit
    EndFunc ;==>HotKey_Space


    Func Warten($zeit, $i, $b = 0)
    $tmp3 = 0
    $tmp2 = TimerInit()
    While $tmp3 < $zeit
    If $b = 1 Then
    GUICtrlSetData($a[$i] - 1, 'Pass Location Detected!')
    GUICtrlSetBkColor($a[$i] - 1, 0xff0000)
    Sleep(500)
    GUICtrlSetBkColor($a[$i] - 1, 0x000000)
    Sleep(200)
    Else
    GUICtrlSetData($a[$i] - 1, 'Detecting...')
    GUICtrlSetBkColor($a[$i] - 1, 0xff0000)
    Sleep(100)
    GUICtrlSetBkColor($a[$i] - 1, 0x00ff00)
    Sleep(100)
    EndIf
    $tmp3 = TimerDiff($tmp2)
    WEnd
    GUICtrlSetBkColor($a[$i] - 1, 0x000000)
    EndFunc ;==>Warten

    [/autoit]
    Gruß

  • Hackersimulation schreiben

    • mille86
    • 16. Oktober 2009 um 07:44

    Hey,
    Matrix hatte ich auch mein erster Gedanke xD
    wow - so viel Arbeit... und das um 1 Uhr nachts - das ist ja echt :thumbup: Soviel Glück kann man net fassen xD
    Wenn ich ihn anpasse, stelle ich natürlich auch rein.
    Danke =)

  • Hackersimulation schreiben

    • mille86
    • 15. Oktober 2009 um 15:56

    Moin,
    wir in der Ausbildung bekommen neue Rechner und müssen sie für die breite Masse zeigen, wie schnell die doch sind. Dazu habe ich die aufgabe bekommen, ein DOS-Fenster zu erstellen, was simuliert, das ich das des PCs Passwort knacke.
    Momentan so: Läuft an, dann slp(10) dann erscheint der erste Buchstabe dann wieder slp(10) dann erscheint der 2. Buchstabe des "Passwortes" usw.
    Ziemlich trocken also.
    Jemand Ideen, wie man Animieren könnte etc?

  • Gezielte Regedit-Werte auslesen

    • mille86
    • 10. Oktober 2009 um 20:58

    Danke understood, jetzt weiß ich auch wie es mit der Syntax geht.
    EDIT: Hier noch eine optimierte Version

    [autoit]

    Func _findkey($current_key, $regex, $maxAnz = 1, $joker_key = 0, $next_key = '')
    RegRead($current_key, '') ; Schlüsselexistenzprüfung
    If @error <> -1 Then Return SetError(1)
    $joker_key += $maxAnz
    Local $valid_key[$maxAnz + 1], $j = 1
    For $i = 1 To $joker_key
    If StringRegExp(RegEnumKey($current_key, $i), $regex) And $j <= $maxAnz Then ; Schlüssel gefunden und Begrenzung auf maxAnz
    $valid_key[$j] = $current_key & '\' & RegEnumKey($current_key, $i) & '\' & $next_key ; !unsauber!
    $j += 1
    EndIf
    Next
    $valid_key[0] = $j - 1 ; Menge gültige Schlüssel
    ReDim $valid_key[$j]
    Return $valid_key
    EndFunc

    [/autoit]
  • Gezielte Regedit-Werte auslesen

    • mille86
    • 10. Oktober 2009 um 06:33

    Zweck: Man weiß, dass ein oder mehrere Schlüssel Werte enthalten, die man auslesen möchte. Das Problem ist aber, dass jeder Schlüssel einmalig ist, man kennt nur seine Struktur.
    Z.B. Will ich von Outlook Express den Speicherort der Mails erfahren. Dieser befindet sich unter
    HKEY_CURRENT_USER\Identities\{04353495-3245234ABS-435}\software\microsoft\outlook express\5.0\store root
    Um alle Identitäten herauszubekommen, verwendet man nun einfach

    Code
    _regfilter('HKEY_CURRENT_USER\Identities', '{*.?}')


    1. Parameter: Schlüssel, von wo aus gesucht werden soll
    2. Parameter: Regulärer Suchausdruck
    3. Parameter (optional): Maximale Trefferzahl (default 1)
    4. Parameter (optional): Menge an möglicher unwichtiger Schlüssel (default 0)
    Es wird als Array zurückgegeben, wobei das erste Index die Anzahl der Treffer enthält. Sollte der Schlüssel ungültig sein, so wird @error auf 1 gesetzt.

    Code
    Func _regfilter($current_key, $regex, $maxAnz = 1, $joker_key = 0) $joker_key += $maxAnz Local $valid_key[$maxAnz+1], $j = 1 RegRead($current_key, '') ; Schlüsselexistenzprüfung If @error <> -1 Then Return SetError(1) For $i = 1 To $joker_key If StringRegExp(RegEnumKey($current_key, $i), $regex) And $j <= $maxAnz Then ; Schlüssel gefunden und Begrenzung auf maxAnz $valid_key[$j] = RegEnumKey($current_key, $i) $j += 1 EndIfNext$valid_key[0] = $j-1 ; Menge gültige Schlüssel ReDim $valid_key[$j] Return $valid_keyEndFunc


    Have fun :rock:

  • [spiel] Autoit.de kann nicht bis 100 zählen

    • mille86
    • 16. August 2009 um 14:09

    sieben

  • [spiel] Autoit.de kann nicht bis 100 zählen

    • mille86
    • 14. August 2009 um 13:26

    38

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™