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

Beiträge von Micha_he

  • Hilfe mit Umgang der Registry

    • Micha_he
    • 6. April 2009 um 20:03

    Du hast meinen Post #6 doch nicht verstanden :(

    Ggf. funktionert es so:

    [autoit]

    Run ("C:\Programme\GlovePIE029\GlovePIE.exe -C:\Programme\GlovePIE029\WiimoteScripts\WiiMouseIR.PIE")
    sleep (2000)
    controlclick ("GlovePIE - Programmable Input Emulator 0.29 [Running]", "Stop", "TBitBtn1")

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

    $alt = RegRead ("HKLM\SOFTWARE\Microsoft\Cryptography\RNG", "Seed")

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

    While 1 ; willst Du das das Programm endlos läuft, oder nur 1x ??
    If $alt <> RegRead ("HKLM\SOFTWARE\Microsoft\Cryptography\RNG", "Seed") Then
    ControlClick ("GlovePIE - Programmable Input Emulator 0.29", "Run", "TBitBtn1")
    Else
    controlclick ("GlovePIE - Programmable Input Emulator 0.29 [Running]", "Stop", "TBitBtn1")
    EndIf
    Wend

    [/autoit]

    An Deiner Stelle würde ich aber vor den "ControlClick" prüfen, ob überhaupt ein Fenster zum fernsteuern vorhanden ist (WinWait, WinExists).

  • Hilfe mit Umgang der Registry

    • Micha_he
    • 5. April 2009 um 01:04

    Es wird einen Unterschied geben, ob das Bluetooth-Gerät das erste mal, oder ein weiters mal mit dem Pc verbunden wird.

    Beim ersten mal werden die Einträge, die auch der Geräte-Manager anzeigt, angelegt.
    Beim erneuten verbi nden müsste sich aber meiner Meinung nach der Zustand dieses Gerätes von "nicht verbunden" auf "verbunden" ändern. Und dies auch so, das der Geräte-Manager es anzeigt.

    Irgendow muss es einen Unterschied geben.

  • Hilfe mit Umgang der Registry

    • Micha_he
    • 4. April 2009 um 12:32

    Was sich ändert, muss der Programmierer schon wissen. Wenn Du ein Script erstellst bist kein Anwender mehr, sondern der Entwickler.

    Wenn Du wissen willst, was sich in der Registry ändert wenn Du eine Software-/Hardwareaktion auslöst, haben sich wie schon des öfteren hier im Forum erwähnt, Tools wie RegMon und RegShot als hilfreich erwiesen.

    Änderungen ließen sich auch mit AutoIt ermitteln (RegEnumKey, RegEnumValue), was aber in Deinem Fall den Aufwand sprengt und neue Fragen deinerseits aufwerfen würde.

  • Hilfe mit Umgang der Registry

    • Micha_he
    • 4. April 2009 um 00:57

    Grundlagen bei der Programmierung, sind u.a. logisches Denken und, ich wollte es meinem damaligen Dozenten nicht glauben, einfaches Beschreiben was ablaufen soll.

    Er sagte damals, wir sollen unseren Gedankenablauf einfach in kurze, aussagekräftige deutsche Sätze fassen.

    Unterschiede erkennen = Jetzt was anderes wie vorher !

    1. Merke was war
    2. Schleifenbeginn
    3. Hat sich was geändert ?
    4. Wenn ja: Reagiere
    5. Wiederholen bis ? (Endlos ?)

    In Deinem Bespiel würde daraus etwa dies enstehen:

    [autoit]

    $alt = RegRead(...)
    While 1
    If $alt <> RegRead(....) Then Msgbox(0,"","Es hat sich was geändert")
    Wend

    [/autoit]

    Ist aber nur ein Beispiel, wie man einen Programmablauf entwickeln könnte. Damals habe ich den Dozenten für abgedreht gehalten. Nachdem ich nun etliche Programmiersprachen benutzt habe, muss ich sagen: Das Prinzip geht immer, weil es sprachenunabhängig ist.

  • Uhrzeit abgleich

    • Micha_he
    • 3. April 2009 um 19:56

    Wenn Du kein Datum hast, kann du ja auch nicht sagen, ob 2 Uhr nach 23 Uhr gestern oder vor 23 Uhr heute ist !

    Wenn Du dagegen das Datum in der gewünschten Startzeit mitführst (ggf. nach dem Start, auf den nächsten Tag setzen), dann kannst du auch mit _DateDiff() arbeiten.
    Und ohne Datum ... denk ... denk ... fällt mir gerade keine Lösung ein.

    Gruß
    micha_he

    Edit: Aber wenn Du nur eine Zeit eingibst, nimmst Du einfach den heutigen Tag. Dann _DateDiff() mit jetzt, wenn negativ liegt der Startzeitpunkt schon in der Vergangenheit ( z.B. Termin 23:00 um 23:25 eingegeben), dann wird mit _DateAdd() einfach 1 Tag hinzuaddiert. Somit hast Du einen Termin den Du dann immer mit _DateDiff() prüfen kannst, bis er erreicht wurde oder wieder in der Vergangenheit liegt, dann startest Du deine Funktion. Wenn sich der Termin wiederholen soll, addierst Du dann wieder einen Tag.

  • PROBLEM bei benachrichtigung

    • Micha_he
    • 1. April 2009 um 18:55
    Zitat von NoNever

    nix so wenn das endif da steht dann läuft er ja nur mit pausen wenn ersacht es läuft gleich mach das endif weg

    Bist Du betrunken, das kann ja niemand lesen... :D

  • PROBLEM bei benachrichtigung

    • Micha_he
    • 1. April 2009 um 15:42

    Unter Umständen (nicht getestet) funktioniert es so besser:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Opt('GUIOnEventMode', 1)
    #Region ### START Koda GUI section ### Form=C:\Users\yannick\Desktop\autoit ordner\AutoIt-Form-Designer\Forms\Form1.kxf
    $Form1_1 = GUICreate("Sendungs Erinnerer", 362, 584, 402, 139)
    GUISetBkColor(0xC0C0C0)
    $Zeit = GUICtrlCreateInput(@HOUR & ":" & @MIN & ":" & @SEC, 0, 104, 361, 21)
    $sender = GUICtrlCreateInput("Input2", 1, 128, 359, 21)
    $MonthCal1 = GUICtrlCreateMonthCal("2009/04/01", 56, 416, 241, 164)
    $Date1 = GUICtrlCreateDate("2009/04/01 10:44:21", 80, 0, 201, 25)
    GUICtrlCreateEdit("", 24, 320, 313, 89)
    GUICtrlSetData(-1, "Bitte geben sie die uhrzeit ein wo der film laufen wird in jeweils die erste spalte ein und den sender in jeweils die zweite spalte ein")
    $Input3 = GUICtrlCreateInput("Input3", 0, 184, 361, 21)
    $Input4 = GUICtrlCreateInput("Input4", 0, 208, 361, 21)
    GUICtrlCreateLabel("", 0, 240, 4, 4)
    $Input5 = GUICtrlCreateInput("Input5", 0, 264, 361, 21)
    $Input6 = GUICtrlCreateInput("Input6", 0, 288, 361, 21)
    $Label1 = GUICtrlCreateLabel("Sendung 1", 0, 80, 340, 25)
    $Label2 = GUICtrlCreateLabel("Sendung 2", 0, 152, 340, 25)
    $Label3 = GUICtrlCreateLabel("Sendung 3", 0, 232, 340, 33)
    $Button1 = GUICtrlCreateButton("Starten", 56, 32, 113, 33, 0)
    $Button2 = GUICtrlCreateButton("Beenden", 200, 32, 113, 33, 0)
    GUICtrlSetOnEvent( $Button1 , '_starten')
    GUICtrlSetOnEvent( $Button2 , '_beenden')
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Global $gestartet = 0

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

    While 1
    If $gestartet = 1 AND Guictrlread($Zeit) = @HOUR & ":" & @MIN & ":" & @SEC Then MsgBox (64,"Film läuft","Der Film läuft! und zwar auf ----------> " & Guictrlread($sender))
    Sleep(1000)
    WEnd

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

    func _starten()
    $gestartet = 1
    endfunc

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

    func _beenden()
    exit
    endfunc

    [/autoit]

    Edit: überflüssiges ENDIF entfernt...

  • PROBLEM bei benachrichtigung

    • Micha_he
    • 1. April 2009 um 15:37

    Wenn Du "Starten" drückst, verzweigt Dein Programm in die Funktion "_starten()". In dieser Funktion ist eine "While...Wend" Schleife, die durch "While 1" nie verlassen wird aber mit maximaler Geschwindigkeit und Rechenleistung, immer wieder durchlaufen wird.

    Daher funktioniert auch weiter Event's noch nicht (und der Rechner hat gut zu tun, ein Hoch an die Mehrprozessor-Technik).

  • Aut2exe mit Script ausführen

    • Micha_he
    • 1. April 2009 um 12:53

    Ich habe mal ein Script erstellt, welches zusätzliche Optionen ( Zieldateiname, Icon-Datei ) aus dem Quellcode ausliest und an den Aut3Exe-Compiler übergibt.

    Vielleicht kann Du ja etwas daraus gebrauchen:

    Aut3Exe_wOpt
    [autoit]

    ; Programmname: Aut2Exe_wOpt.au3
    ; Version: 1.07
    ; geschrieben von: micha_he
    ; geschrieben am: 23.09.2008
    ;
    ; Beschreibung:
    ;
    ; Ermöglicht das kompilieren über das Kontextmenü unter
    ; Berücksichtigung foilgender optionen im Quelltext des
    ; Scriptes:
    ;
    ; #compiler_icon=
    ; #compiler_outfile=
    ;
    ; Eingebunden wird die kompilierte Version dieses Scriptes
    ; in der Registry unter :
    ;
    ; [HKEY_CLASSES_ROOT\AutoIt3Script\shell\Compile]
    ; @="Compile Script With Options"
    ;
    ; [HKEY_CLASSES_ROOT\AutoIt3Script\shell\Compile\Command]
    ; @="C:\\Programme\\AutoIt3\\Aut2Exe\\Aut2Exe_wOpt\Aut2Exe_wOpt.exe \"%l\""

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

    #compiler_outfile="Aut2Exe_wOpt.exe"

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

    Dim $in_id, $path, $prg, $inhalt, $au3Path
    Dim $icon = ""
    Dim $out_name = ""

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

    $in_id = FileOpen($cmdline[1],0)
    While 1
    $inhalt = FileReadLine($in_id)
    If @error then ExitLoop
    if StringLeft($inhalt,14) = "#compiler_icon" then
    $icon = StringReplace(StringStripWS(StringMid($inhalt,15),3),chr(34),"")
    If StringLeft($icon,1) = "=" then $icon = StringMid($icon,2)
    endif

    if StringLeft($inhalt,17) = "#compiler_outfile" then
    $out_name = StringReplace(StringStripWS(StringMid($inhalt,18),3),chr(34),"")
    If StringLeft($out_name,1) = "=" then $out_name = StringMid($out_name,2)
    endif
    Wend
    FileClose($in_id)
    Sleep(2000)

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

    $au3Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt","InstallDir")
    $path = StringLeft($cmdline[1], StringInStr($cmdline[1],"\",0,-1))
    $prg = $au3Path & '\Aut2Exe\Aut2Exe.exe /in "' & $cmdline[1] & '"'
    if $out_name <> "" then $prg &= ' /out "' & $path & $out_name & '"'
    if $icon <> "" then $prg &= ' /icon "' & $path & $icon & '"'
    RunWait($prg, $path)

    [/autoit]
  • VBS in Autoit einbinden

    • Micha_he
    • 1. April 2009 um 12:34

    Ich hab selbst den Converter vbs2au3 schon genutzt. Es ist aber einfacher, sich das VB-Script zur Gemüte zu führen und es dann in AutoIt neu zu schreiben, als stundenlang die Fehler zu suchen. VBS lässt sich ziemlich schnell in AutoIt umschreiben, wenn man ersteinmal verstanden hat, was das VB-Script machen soll.

    Gruß
    micha_he

  • hardware abfrage

    • Micha_he
    • 30. März 2009 um 18:25

    Normalerweise stehen die Rechner-Hardware-Informationen in:

    "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\"

    Bisher habe ich da meist alles gefunden, was irgendwie mit dem Rechner verbunden war...

  • EditorXXL

    • Micha_he
    • 24. März 2009 um 17:31

    Ich dachte das das Forum "Scripte" für AutoIt-Scripte gedacht war und nicht für fertige Setup's, wo man nicht weiß, was auf meinen Rechner geschoben wird !

    Gab es für fertige Programme und Setup's nicht die Filebase ?

  • Desktop Verknüpfungen verteilen

    • Micha_he
    • 20. März 2009 um 12:34

    Ist unter Umständen bei den "Server Support Tools" bei...

  • DriveMapAdd

    • Micha_he
    • 18. März 2009 um 18:40

    Soweit ich weiß, werden Netzlaufwerke immer unter dem User verbunden der den Befehl absetzt.

    Wenn der Dienst also unter "SYSTEM" läuft, sieht ein angemeldeter User die Laufwerke sowieso nicht !

  • ListView

    • Micha_he
    • 18. März 2009 um 18:01
    Zitat von Scripter192

    _FileListToArray is das nen UDF? Hilfe is mir iwi zu umständlic h weil man danach sein Problem eh nich gelöt hat .... . Kannste pls ma en Beipiel dafür schreiben?

    Wenn Dir die Hilfe zu umständlich ist, solltest Du etwas anderes versuchen wie Programmieren :|

  • Doppelte Einträge löschen (.txt)

    • Micha_he
    • 18. März 2009 um 17:56

    Du meinst bestimmt "doppelte Zeilen", oder ?

    Doppelter Text = doppelte "a", doppelte "b"

    Damit blieben alle Buchstaben nur einmal in deiner Datei !

    Ansonsten:
    - Zeile aus Eingabe lesen (FileOpen,FileReadLine,FileClose)
    - Ist Zeile nicht in Ausgabe (StringInStr)
    - dann Zeile nach Ausgabe ($out &= $zeile & @CRLF)
    - wiederhole bis Ende Eingangsdatei (Do, Until)
    - ggf. Ausgabe in Datei (FileOpen,FileWrite,FileClose)


    Und nun probier einmal...

  • Pixelsearch - Von der Mausposition aus

    • Micha_he
    • 11. März 2009 um 12:29

    Na ist doch auch klar. PixelSearch sucht ja in diesem Beispiel von der Mouseposition ($mouse[0], $mouse[1]) ab zum rechten unteren Bildschirmeckpunkt.

    Wenn Du also nicht wie in Deiner Beschreibung "ab" der Mouseposition suchen willst, sondern auch einen Bereich davor/darüber, so schreibst du dann einfach: " ... $mouse[0] - 50, $mouse[1] -50 ... " -- > (hier wird auch 50 Pixel oberhalb und links vom Zeiger gesucht).

    Gruß
    micha_he

    Edit: Du solltest unter Umständen vorher prüfen, ob '$mouse[x] - 50' negativ ist und dann '0' verwenden.

  • TCP Problem

    • Micha_he
    • 9. März 2009 um 21:40

    Ich würde am Ende jeder Nachricht ein Ende-Tag ( Zeichen-/Wertekombination ) einfügen, welche in einem normalen Text nicht vorkommt.
    Prinzipiell wie auch zum Beispiel @CRLF ja aus den beiden Zeichen CHR(13) + CHR(10) besteht.

    Dann trennst Du den Text an der besagten Zeichenkombination und merkst Dir den Rest für die nächste Nachricht.

    Gruß
    micha_he

  • GUI EDIT Fenster

    • Micha_he
    • 5. März 2009 um 00:06
    [autoit]

    Func _addlog($sString)
    GUICtrlSetdata($Test,GUICtrlRead($Test) & @CRLF & $sString)
    ControlSend("","",$Test,"{END}")
    EndFunc

    [/autoit]

    Probiers mal hiermit...

  • Brauche Hilfe, Möchte Autoit ABC Datei erstellen lassen.

    • Micha_he
    • 5. März 2009 um 00:02

    Sieht mir auch zu sehr nach einer Vorlage zur BruteForce-Attacke aus.

    Ich handel mir lieber keine Verwarnung ein :)

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™