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

Beiträge von FireFlyer

  • Kommunikation mit anderen Programmen

    • FireFlyer
    • 8. Januar 2009 um 11:36

    Hm,

    also das kommt ganz auf das Programm an aber AutoIt kann über das COM mit anderen Programmen kommunizieren... leider bin ich hier nicht sehr bewandert... aber ich weiss schon wer das evt kann XENO???? :D
    Aber wie gesagt auch dein Programm muss dies unterstützen ;)

    Ansonsten was mir jetzt noch als alternativ einfallen würde:
    Das komplette Programm mit autoit steuern über tastendrücke mausbewegung etc (ich weiss nicht sehr schön)
    Oder wenn das machbar ist:
    Lass Autoit das Makro schreiben ich gehe mal davon aus das diese makros kleine files sind die du aber z.b. mit dem texteditor öffnen kannst um den inhalt zu sehen (code). Wenn ja lass autoit die Makros schreiben und evt hat dein programm ja sogar eine parameter funktion womit du z.b.
    Run("C:\Programme\deinprg.exe -macro C:\macros\testmacro.bla")
    Direkt ausführen kannst ;)

  • Webformular Automatisch ausfüllen

    • FireFlyer
    • 8. Januar 2009 um 11:22

    normalerweise sehen inputfelder in html so aus:

    <input type="text" name="name_des_inputs" value="Wert" />

    Leider fällt mir die Funktion grad net ein aber die findest du bestimmt schnell^^
    Also du kannst mit einer funktion und mit dem name des inputs das Formularfeld füllen

    Hat bei mir leider oft nicht geklappt deshalb hier ansatz 2

    Du kannst dir alle Controls die diese Seite hat in ein Array speichern, dann musst du nur noch schauen welcher index für welches formular steht, solange keine weiteren formularfelder etc hinzukommen oder entfernt werden funktioniert das prima

  • Half-Life 2 Server Qry Script

    • FireFlyer
    • 8. Januar 2009 um 11:16

    @oger-lord

    ich habe sowas auch mal für einen hl1 server geschrieben ich werds bei zeiten mal rauskramen

    ctec

    was da ankommt ist ein ganz normaler hex code den man zerlegen muss, man braucht sich das spiel nicht zu installieren denn der server gibt die informationen freiwillig heraus. Man öffnet einfach ein UDP socket und "fragt" ihn nach informationen diese bekommt man als komplettpaket und muss sie erst aufschlüsseln

    Irgendwo gibts ne wiki seite wo man sehen kann welche informationen in welcher reihenfolge kommen.

    Normalerweise war das dort (beim hl1 server) einfach durch ein chr(0) getrennt, also einfach mal versuchen so wie du es dort stehen hast :D

  • Seltsamer Programm-Abbruch durch Fehler

    • FireFlyer
    • 5. Januar 2009 um 14:37

    naja was heisst schwerwiegend^^

    Fehlermeldung war doch klar lesbar^^ Array nicht definiert oder ungültige dimensionen

    Ich hätte das evt. so gelöst:

    Spoiler anzeigen
    [autoit]

    If IsArray($var) Then
    For $i=1 to Ubound($var)-1 ;immer ubound benutzen :)
    If $var[$i][0]<>""AND IsVisible($var[$i][1])Then
    MsgBox(0,"Details","Title="&$var[$i][0]&@LF&"Handle="&$var[$i][1])
    EndIf
    Next
    Else
    MsgBox(0,"", "Fehler $var ist kein Array.")
    EndIf

    [/autoit]
  • Lizenz für Skripte

    • FireFlyer
    • 5. Januar 2009 um 14:33

    okay aber wenn ihr schon so eine umgebung habt dann wird es dort doch bestimmt irgendeinen server oder sowas geben wo nur super admins zugriff haben oder sowas... jedefalls nicht das fussvolk :D

    da könntest du doch ebenfalls die information speichern oder?

  • Lizenz für Skripte

    • FireFlyer
    • 5. Januar 2009 um 14:05

    mit der registry gibt es auch noch ein 2. problem und zwar das es mittlerweile genügend Programme gibt die Loggen was gerade in die Registry geschrieben wird und was gerade ausgelesen wird, mit Zeit, Prozess der dies macht und natürlich Pfad, Schlüssel und Value die geändert wurden

    Was mir dazu jetzt noch einfallen würde wäre die information ob gesperrt oder nicht, auf einem fremden System zu speichern, ein FTP im internet z.b. das bedeutet halt das deine User die das Programm benutzen sollen Internet Anbindung haben müssen, was aber heutzutage eig. schon fast standard ist.

  • Ruhezustand

    • FireFlyer
    • 5. Januar 2009 um 01:38

    wiso die maus bewegen?

    Also ich würde einfach beim Start des scriptes folgendes machen:

    [autoit]

    RunWait(@ComSpec & " /C powercfg -h off", "", @SW_HIDE)
    MsgBox(0, "", "Ruhezustand Aus") ;test

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

    ;und beim beenden
    RunWait(@ComSpec & " /C powercfg -h on", "", @SW_HIDE)
    MsgBox(0, "", "Ruhezustand An") ;test

    [/autoit]

    Ok ich weiss jetzt net ob des ohne adminrechte auch geht aber ich denke das ist am einfachsten oder? :)

  • ComboBox status offen/geschlossen abfragen

    • FireFlyer
    • 5. Januar 2009 um 01:24

    hi obi & alle anderen^^

    jaa nach langer winterpause melde ich mich endlich mal wieder zurück :D

    @obi

    Also am besten verwendest du bei Controls die OnEvent methode, hat sich bei mir am besten bewährt.

    Ich hab das jetzt zwar nur überflogen aber ich glaube du möchtest 2 Combos miteinander vergleichen oder?
    Ich würde das so lösen

    [autoit]


    $combo1 = GUICtrlCreateCombo()
    $combo2 = GUICtrlCreateCombo()
    GuiCtrlSetOnEvent($combo1, "func1")
    GuiCtrlSetOnEvent($combo2, "func1")

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

    Func func1
    if GUICtrlRead($combo1) = GUICtrlRead($combo2) Then
    MsgBox(0, "", "Geht")
    Else
    MsgBox(0, "", "Geht nicht")
    Endif
    EndFunc

    [/autoit]
  • Die Liste

    • FireFlyer
    • 1. November 2008 um 15:15

    Da ich es gerade brauchte wollte ich mal anfangen eine Kleine Liste zu erstellen für den WMCommand:
    Und zwar bei welchen Aktionen welcher Code(?) zurückgegeben wird.

    Bei einem Input:
    Focus (reinklicken oder reintabben) = 256
    DeFocus (beim "verlassen" des inputs) = 512
    Beim ändern des Inhaltes (egal ob löschen oder hinzufügen) = 1024 UND 768 (warum das zwei werte sind ist mir schleierhaft)

    Weitere sachen werden folgen^^ Sobald ich was neues brauch :)

  • Problem bei variablem Button-Text

    • FireFlyer
    • 28. Oktober 2008 um 16:25

    Ja das ist möglich:
    Entweder du machst es über ein array oder direkt über einen key:
    GUIctrlCreateButton(IniRead("test.ini", "buttons", "button1"), 5, 5)

    zum ändern dann GUICtlrSetData

    Beim Array funktioniert das genauso

  • Ganzen Ordner mit FileInstall kopieren?

    • FireFlyer
    • 28. Oktober 2008 um 13:11

    Nein das ist leider nicht möglich :(
    Du kannst höchstens den ordner von dir Zippen die zipdatei per fileinstall includen und dann das ganze beim user entpacken...

  • Kann mstsc.exe auf Win2003 X64 nicht starten

    • FireFlyer
    • 28. Oktober 2008 um 12:10

    ja was passiert? kommt en fehler oder wie?

  • Verschachtelte If-Funktion

    • FireFlyer
    • 28. Oktober 2008 um 11:59

    jaa ich weiss, ich wollt ihn jetzt nicht verwirren...

    Aber Bugfix hat schon recht, Bei einem Array ist der erste Index 0 deswegen wenn du 10 Werte für ein Array hast deklarierst du es so:
    Global $array[10]
    Aber abfragen tust du es von $array[0] bis $array[9]

  • GUI Prozessbalken

    • FireFlyer
    • 28. Oktober 2008 um 11:53

    Also:

    Spoiler anzeigen
    [autoit]

    GUICreate("Label" , 100, 100)
    $label = GUICtrlCreateLabel("Text1", 5, 5)
    GUISetState()
    Sleep(2000)
    GUICtrlSetData($label, "Text2")
    GUISetState(@SW_HIDE) ;fenster1 wieder zumachen

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

    Sleep(1000) ;sec warten

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

    GUICreate("Progress", 100, 100)
    $progress = GUICtrlCreateProgress(5, 5)
    GUICtrlSetState($progress, @SW_HIDE) ;erstmal unsichtbar machen
    GUISetState()
    Sleep(2000)
    GUICtrlSetState($progress, @SW_SHOW) ;sichtbar machen
    For $i = 1 To 100
    GUICtrlSetData($progress, $i) ;den progress laufen lassen
    Sleep(100) ;damits nicht zu schnell geht^^
    Next

    [/autoit]
  • Verschachtelte If-Funktion

    • FireFlyer
    • 28. Oktober 2008 um 11:47

    ändert sich die anzahl von diesen Dingsbums $install teilen da? Ne oder?

    Also auf jeden fall das Array so deklarieren: Global $install[11] (wenn es 10 sind dann 11, immer plus 1)

  • Verschachtelte If-Funktion

    • FireFlyer
    • 28. Oktober 2008 um 11:39

    und das andere script kannst du nicht so umschreiben das es keine einzelnen variablen sind sondern ein array?
    Da haste zwar erstmal "viel" arbeit das umzuschreiben (naja eigentlich nicht^^: Strg+H Replace $install_1 With $install[1]) aber es lohnt sich danach bestimmt :)

  • Die erste File Over TCP Funktion

    • FireFlyer
    • 28. Oktober 2008 um 11:37

    @GTA

    lol sowas hab ich auch schon gemacht nur viel primitiver als dein script^^ respekt ist dir gut gelungen, nur ich würde noch folgende erweiterungen reinmachen:
    1. ein start plus 1 Endcode für die Übertragung reinmachen damit recive weiss jetzt wird die eine datei übertragen, jetzt die nächste usw
    2. die übertragung des dateinamens...

    Und noch ne frage, das ganze müsste ja natürlich auch mit UDP zu lösen sein, ich hab mal gehört das das "schneller" überträgt stimmt das?

  • Verschachtelte If-Funktion

    • FireFlyer
    • 28. Oktober 2008 um 11:04

    BugFix

    Die deklariert er doch selbst oder? Wirklich, am einfachsten ist es du arbeitest mit nem Array anstatt der verschiedenen Variablen ;)

  • Verschachtelte If-Funktion

    • FireFlyer
    • 28. Oktober 2008 um 10:42

    Ich würds so machen:
    besser wärs in nem array: Also mach anstatt $install_1 usw.. lieber $install[1], dann kann man des per schleife abfragen

    [autoit]

    $success = True
    For $i = 1 To Ubound($install)-1
    If $install[$i] <> $RegEntrySuccess Then
    $success = False
    ExitLoop
    EndIf
    Next
    if $success = true Then
    ;erfolgreich
    Else
    ;fehlgeschlagen
    EndIf

    [/autoit]
  • Reagieren, _falls_ ein gewisses Fenster auftaucht. WinExists?

    • FireFlyer
    • 28. Oktober 2008 um 08:42
    [autoit]

    While WinExists("DeinFenste") = 0
    Sleep(500)
    WEnd

    [/autoit]

    oder einfach die Funktion WinWait nehmen

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™