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

Beiträge von Prajoss

  • .exe ausführen verhindern

    • Prajoss
    • 24. Februar 2009 um 10:51

    Als Info:

    WoW ist von der Registry unabhängig, kannst drin löschen was du willst ;)

    (und ich weiß das, bin selbst WoW-Spieler und Fachinformatiker :/)

  • .exe ausführen verhindern

    • Prajoss
    • 24. Februar 2009 um 10:39

    Dann änder das PW von seinem Account und kündige diesen, aber ändere vorher die Emailadresse im Acc ab. und er soll sich an
    nen Psychologen wenden.

    Bedenke, er könnte ja Windows neu installieren...

  • .exe ausführen verhindern

    • Prajoss
    • 24. Februar 2009 um 10:30

    Welchen Zweck soll denn das haben? Lösch doch einfach das Spiel oder
    willst du Freunde von dir nerven?

    Ansonsten waren meine Vorredner schneller :/

  • gelöst

    • Prajoss
    • 24. Februar 2009 um 10:01

    Morgen,

    Deine Frage ist sehr weitfächernd, du musst versuchen die Fragen so präzise wie möglich zu stellen (das geht in dem du möglichst viele Details angibst)

    ein Beispiel (Da ich nicht genau weiß was du willst):


    [autoit]

    #include <GuiConstantsEx.au3>

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

    ; GUI
    $GUI = GUICreate("GUI Name", 300, 200)

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

    ; Input-Feld 1 mit einem Label davor
    $Label_1 = GUICtrlCreateLabel("ID eingeben:", 10, 10, 85, 30)
    $Input_1 = GUICtrlCreateInput("", 100, 10, 100, 30)

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

    ; Input-Feld 2 mit einem Label davor
    $Label_2 = GUICtrlCreateLabel("PW eingeben:", 10, 50, 85, 30)
    $Input_2 = GUICtrlCreateInput("", 100, 50, 100, 30)

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

    ; Button zum Speichern erstellen
    $Save = GUICtrlCreateButton("Save", 30, 100, 80, 30)

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

    ; Button zum Abbrechen erstellen
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 150, 100, 110, 30)

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

    ; GUI initialisieren
    GUISetState()

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

    ; Auf Aktionen im GUI reagieren
    While 1

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

    $msg = GUIGetMsg()

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

    ; Beende Programm
    If $msg == $Abbrechen Or $msg == $GUI_EVENT_CLOSE Then ExitLoop

    ; Führe Aktionen aus beim Drücken auf "Save"
    If $msg == $Save Then
    ;Breche ab wenn das ID-Feld leer ist
    If GUICtrlRead($Input_1) == "" Then
    MsgBox( 64, "Achtung!", "Die ID wurde nicht eingetragen!")
    ContinueLoop
    EndIf
    ;Breche ab wenn das PW-Feld leer ist
    If GUICtrlRead($Input_2) == "" Then
    MsgBox( 64, "Achtung!", "Das PW wurde nicht eingetragen!")
    ContinueLoop
    EndIf
    ;Schreibe ID und PW in eine Ini-Datei
    iniWrite ( @ScriptDir & "\" & "Test.ini", "TEST", "ID", GUICtrlRead($Input_1))
    iniWrite ( @ScriptDir & "\" & "Test.ini", "TEST", "PW", GUICtrlRead($Input_2))
    EndIf
    WEnd

    [/autoit]

    Ich habe versucht alles genau zu kommentieren..
    Wenn du Fragen zu einzelnen Befehlen hast, schaue bitte in der Hilfe nach, dort steht alles sehr gut beschrieben (meistens jedenfalls *g*)

    Gruß

    Prajoss

  • gelöst

    • Prajoss
    • 23. Februar 2009 um 16:43

    Das liegt einfach daran dass iniRead und sonstiges im ersten Parameter den Pfad + Dateinamen haben will.

    @ScriptDir gibt aber nur den Pfad an. D.h. du musst sowas schreiben:

    [autoit]

    If iniRead(@WorkingDir & $DATEINAME, ...)

    [/autoit]

    Gruß

    Prajoss

    ps: evtl ist es auch

    [autoit]

    @WorkinDir & "\" & $DATEINAME

    [/autoit]

    das musst du dann selbst rausfinden, hab ich nich so genau im Kopf

  • Problem bei GuiCtrlSetData und Groß/Kleinschreibung des 2. Parameters

    • Prajoss
    • 23. Februar 2009 um 14:51

    Nun habe ich noch eine Möglichkeit gefunden die Daten einzutragen ohne das genannte
    Problem zu auszulösen:

    [autoit]

    #include <GuiConstantsEx.au3>

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

    Local $var

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

    ; GUI
    GuiCreate("Sample GUI", 400, 400)

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

    GuiCtrlCreateList("", 5, 190, 100, 90)
    $var = "test|Test"
    GuiCtrlSetData(-1, $var)

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

    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    [/autoit]

    Damit hab natürlich einen Umweg gefunden aber weiß immernoch nich weshalb der Fehler auftritt,
    vllt fällt jemanden ja was ein, dann kann er es gerne hier reinschreiben (ich werde mich dieser
    Sache nicht mehr widmen).

    Gruß

    Prajoss

    Edit: Danke Eukalyptus :)

  • Problem bei GuiCtrlSetData und Groß/Kleinschreibung des 2. Parameters

    • Prajoss
    • 23. Februar 2009 um 14:08

    Heyho,

    ich bin auf ein interessantes Phänomen gestoßen was doch störend ist.

    Ich habe folgende Funktion:

    [autoit]

    Func _Profile_auslesen($daten)

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

    GUICtrlSetData($daten, "")

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

    For $i = 1 To $ID Step 1
    $var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\***\Profile\" & $i, "Profilname")
    If $var <> "" Then GUICtrlSetData($daten, $var)
    Next

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

    EndFunc

    [/autoit]

    Diese Funktion liest in der Registry geschriebene "Profile" aus -- könnte auch ne .ini sein --
    und schreibt diese in das entsprechende Gui (ob Liste, Combo,etc) und das Problem ist folgendes:

    Wenn $var z.B. "TEST" heißt und im 2. Durchlauf $var "test" lautet,
    so taucht in der Liste/Combo nur "TEST" auf.

    Um einen Fehler in meinem Script direkt auszuschließen, habe ich ein etwas allgemeineres Script geschrieben:

    [autoit]

    #include <GuiConstantsEx.au3>

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

    Local $var

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

    ; GUI
    GuiCreate("Sample GUI", 400, 400)

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

    GuiCtrlCreateList("", 5, 190, 100, 90)
    $var = "Test"
    GuiCtrlSetData(-1, $var)
    $var = "test"
    GUICtrlSetData(-1, $var)

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

    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    [/autoit]

    Auch hier tritt das gesagte Phänomen auf.. Hat mein AutoIT noch nen Bug? :/

    Gruß

    Prajoss

  • Exit nur für gerade ausgeführte Function

    • Prajoss
    • 4. Dezember 2008 um 10:40

    Hey,

    wenn du nur die aktuelle Funktion schließen möchtest, dann hilft dir der Befehl:

    [autoit]

    Return

    [/autoit]

    Gruß

    Prajoss

  • IconButton mit mehrere Text- Zeilen erzeugen.

    • Prajoss
    • 1. Dezember 2008 um 14:53

    Hey,

    Ich versuchs mal zu erklären.. Er hat einen großen Button.

    Wenn er diesen Button aber anklickt gibt es 2 Möglichkeiten:

    1. Er klickt auf die Hellgraue Fläche und dann löst es das event aus (man sieht dass der Button gedrückt wurde)

    2. Er drückt auf die Dunkelgraue Fläche (dort wo der ganze Text steht) reinklickt, passiert gar nichts!

    Und er möchte warum bei 2. nichts passiert und wie man es behebt.

    Gruß

    Prajoss

  • Input Frage

    • Prajoss
    • 27. November 2008 um 16:45

    Dieser Fehler besagt, dass du eine Variable verwendest, die noch nicht deklariert ist..

    In diesem Fall sind es: $pwd und $name..

    Du musst sie noch bei deinen deklarierten Variablen dazuschreiben:

    Local $pwd, $name

    Gruß

    Prajoss

  • GUI-Darstellung, Wechsel der Schriftfarbe eines Labels --> ästhetisches Problem

    • Prajoss
    • 27. November 2008 um 16:43

    Hey Greenhorn,

    wie kommt man auf

    [autoit]

    Global Const $WS_EX_COMPOSITED = 0x2000000 ; Gegen "Flackern"

    [/autoit]

    In der Hilfe ist dier Ex-Style nicht enthalten, da sieht man mal was Erfahrung ausmacht :)

    Gruß

    Prajoss

  • Input Frage

    • Prajoss
    • 27. November 2008 um 16:30

    was soll er wohin schreiben??

    wenn du die Inputs auslesen willst geht es über GUICtrlRead($INPUT), in deinem Beispiel:

    $auslesen = GUICtrlRead($NAme)
    MsgBox(0, "Test", $auslesen)

    oder gleich

    MsgBox(0, "Test", GUICtrlRead($auslesen))

    und wenn du sie in ein Programm eintippen lassen willst, benötigst du dann entweder

    Send($auslesen) oder ControlSendText("Programmname", "", ID, $auslesen)

    Gruß

    Prajoss

  • Input Frage

    • Prajoss
    • 27. November 2008 um 16:10

    Du kannst die eingegeben Daten mit

    GuiCtrlRead($INPUT) rauslesen, alternativ auch mit ControlGetText() und in eine Variable speichern.

    Wenn man den Quellcode vor sich hat, kann man genauere Tipps geben ;)

    Schau in der Hilfe nach beiden Befehlen, die Beispiele erläutern die Funktionsweise eigentlich recht gut.

    Gruß

    Prajoss

  • GUI-Darstellung, Wechsel der Schriftfarbe eines Labels --> ästhetisches Problem

    • Prajoss
    • 27. November 2008 um 16:05

    "Edith sagt:" ist das selbe wie "Edit:" :)

    Ich habe den Quellcode aus Scite rauskopiert und eingefügt, hab das mit dem Spoiler noch nie ausprobiert...

    Wenn man natürlich das Gesamte nicht kennt, kann man halt nur gezielt auf den Ausschnitt hinarbeiten, darum auch
    das Weglassen der forma()-Funktion.

    Also ich seh das so, entweder du versuchst das mit den Bildern falls es in deinem Programm passt oder du wartest bis der ein oder
    andere Profi hier was dazusagt, ich hab da noch nicht so viel Erfahrung mit AutoIT :)

    Gruß

    Prajoss

  • GUI-Darstellung, Wechsel der Schriftfarbe eines Labels --> ästhetisches Problem

    • Prajoss
    • 27. November 2008 um 15:44

    Hey,

    ich hab ein wenig rumprobiert, jedoch sieht es aus als ob er immer das Label neu aufbaut, selbst beim Befehl
    GUICtrlSetState($L2, $GUI_HIDE) wird der Hintergrund erst weiß und verschwindet dann.

    Wieso erstellst du nicht einfach 2 Bilder direkt mit dem Text drin? In einem ist der Text in Grün und im anderen in Rot

    Sollte ja per Screenshots gehen und wechselst dann zwischen den Hintergründern hin und her? Könntest du das verwenden?

    Gruß

    Prajoss

    Edith sagt:

    Die Funktion format() ist recht überflüssig und nimmt noch Performance weg..
    so sieht der Code ein wenig einfacher aus und der wechsel geht auch schneller:

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>

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

    Global $sethfm = 0
    Global $b_hoehe = 30, $b_breite = 250
    Global $farbe1 = 0xff0000 ; Rot
    Global $farbe2 = 0x076825 ; Grün
    Global $L2

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

    HotKeySet("t", "test")

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

    ;-------------------------------------------------------------------------------------------------------------
    gui()
    Exit
    ;-------------------------------------------------------------------------------------------------------------

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

    Func gui()
    $Form1 = GUICreate("Form1", 500, 440, (@DesktopWidth - 500) / 2, (@DesktopHeight - 400) / 2, $WS_DLGFRAME + $WS_POPUP + $WS_THICKFRAME)
    $Pic1 = GUICtrlCreatePic("pic.jpg", 0, 0, 500, 440, $WS_BORDER)
    $L2 = GUICtrlCreateLabel("Label Text", 125, 200, $b_breite, $b_hoehe, $SS_CENTER)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(-1, 18, 900, 2, "Verdana")
    GUICtrlSetCursor(-1, 0)
    If $sethfm = 0 Then GUICtrlSetColor($L2, $farbe2)
    If $sethfm = 1 Then GUICtrlSetColor($L2, $farbe1)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $L2
    If $sethfm = 0 Then
    $sethfm = 1
    GUICtrlSetColor($L2, $farbe1)
    ElseIf $sethfm = 1 Then
    $sethfm = 0
    GUICtrlSetColor($L2, $farbe2)
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>gui

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

    Func test()
    For $i = 1 To 3
    GUICtrlSetColor($L2, $farbe2)
    Sleep(1000)
    GUICtrlSetColor($L2, $farbe1)
    Sleep(1000)
    Next
    EndFunc ;==>test

    [/autoit]
  • Eine Funktion wird ständig wieder ausgeführt (soll aber nicht sein)

    • Prajoss
    • 19. November 2008 um 15:05

    Jepp hab ich ;) darum hab ich ja dann das {SPACE} eingefügt,
    muss ich halt suchen

  • Eine Funktion wird ständig wieder ausgeführt (soll aber nicht sein)

    • Prajoss
    • 19. November 2008 um 14:26

    Das dachte ich mir bereits aber als ich es getestet habe war der trotzdem noch da, hmm warscheinlich das
    Script nicht abgespeichert nach der Änderung :pinch:

    Der Aufruf soll bewirken dass, wenn jemand vor dem Drücken des Buttons noch die Taste "^" gedrückt hat, dass es keine Verfälschung im gesendeten Text gibt ;)

    sonst ist der erste Buchstabe kein a sondern ein â... Gibt sicher auch einen Befehl den Tastaturpuffer zu leeren, weiß den jemand grade auf die schnelle? sonst such ich halt :)

    Gruß

    Prajoss

    PS: Danke Greenhorn

  • Eine Funktion wird ständig wieder ausgeführt (soll aber nicht sein)

    • Prajoss
    • 19. November 2008 um 14:01

    Weiterhin hab ich rausgefunden, dass die Funktion nur 1 mal wiederholt wird, damit läufts 2 mal durch

  • Eine Funktion wird ständig wieder ausgeführt (soll aber nicht sein)

    • Prajoss
    • 19. November 2008 um 13:13
    Zitat

    Das werde ich gleich testen

    Ok es geht immernoch nicht :-/

  • Eine Funktion wird ständig wieder ausgeführt (soll aber nicht sein)

    • Prajoss
    • 19. November 2008 um 11:57
    Zitat

    Vielleicht solltest Du in den If Abfragen der Nachrichtenschleife des Fensters explizit den Vergleichsoperator '==' benutzen.
    Das '=' könnte evtl. als Zuweisung gewertet werden und sollte nicht als Vergleichsoperator genutzt werden ...

    Hab ich gemacht, ändert nichts am Problem, außerdem steht das so in der Hilfe da, dass man nur "=" für If-Abfragen nutzen kann.
    Ich werde mich bessern und nun "==" benutzen der Lesbarkeitshalber :)

    Zitat

    Oder Du nimmst eine Switch Abfrage in der Nachrichtenschleife.

    Das werde ich gleich testen

    Zitat

    Besser wäre vielleicht auch, in der umwandeln() die Control...() Funktionen zu nutzen, anstatt Send().

    Ich denke das wird nicht das Problem verursachen aber ich seh sie mir mal genauer an, vorallem ControlSend(), danke ;)

    Gruß

    Prajoss

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™