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

Beiträge von McPoldy

  • Umgebungsvariable übergeben

    • McPoldy
    • 8. September 2009 um 12:35

    Am besten so etwas in Richtung Gui, hier mal ein schnelles Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $oForm = GUICreate("Anmeldung", 366, 129, 192, 124)
    $Label1 = GUICtrlCreateLabel("Username:", 16, 16, 55, 17)
    $Label2 = GUICtrlCreateLabel("Passwort:", 16, 56, 50, 17)
    $txtUser = GUICtrlCreateInput("", 88, 16, 257, 21)
    $txtPassword = GUICtrlCreateInput("", 88, 48, 257, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    $cmdLogin = GUICtrlCreateButton("Anmelden", 48, 88, 129, 25, $WS_GROUP)
    $cmdESC = GUICtrlCreateButton("Abbrechen", 192, 88, 137, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Local $username,$password

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdESC
    Exit
    Case $cmdLogin
    $username = GUICtrlRead($txtUser)
    $password = GUICtrlRead($txtPassword)
    GUISetState(@SW_HIDE)
    ExitLoop
    EndSwitch
    WEnd

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

    ; Ab hier kannst du mit den beiden Variablen weiterarbeiten ($username, $password)

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

    MsgBox(64,'User und Passwort',$username & @LF & $password)

    [/autoit]
  • Umgebungsvariable übergeben

    • McPoldy
    • 8. September 2009 um 12:26

    Ups :) habe gehört Tippfehler kommen vor ;)

  • [2.Gui öfnnet sich nichtt]

    • McPoldy
    • 8. September 2009 um 12:23

    Hi, ich habe mal die Änderungen beschriftet, die ich gemacht habe:

    Spoiler anzeigen
    [autoit]

    Global Const $File_Pfad = 'ID.txt'
    Global Const $File_Pfad1 = 'PW.txt'
    ;If FileExists($File_Pfad) Then ;HIER NOCH BEARBEITEN

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

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

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

    $Form1 = GUICreate("ID", 251, 93, -1, -1)
    GUISetIcon("D:\008.ico")
    $IDEdit = GUICtrlCreateInput("password", 8, 32, 233, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    $ButtonOk = GUICtrlCreateButton("&OK", 86, 64, 75, 25, 0)
    $ButtonCancel = GUICtrlCreateButton("&Cancel", 167, 64, 75, 25, 0)
    $EnterPassLabel = GUICtrlCreateLabel("ID eingeben", 8, 12, 94, 17)
    GUISetState(@SW_SHOW,$Form1) ; Die Form mit angegeben

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ButtonCancel
    Exit
    Case $ButtonOk
    FileWrite($File_Pfad, GUICtrlRead($IDEdit))
    ; Winclose("ID") ; Weg damit
    ExitLoop ; Schleife verlassen
    EndSwitch
    WEnd
    GUISetState(@SW_HIDE,$Form1) ; Erste From ausblenden

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

    #cs Doppelt gemoppelt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #ce

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

    $Form = GUICreate("PW", 251, 93, -1, -1)
    GUISetIcon("D:\008.ico")
    $PasswordEdit = GUICtrlCreateInput("password", 8, 32, 233, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    $ButtonOk = GUICtrlCreateButton("&OK", 86, 64, 75, 25, 0)
    $ButtonCancel = GUICtrlCreateButton("&Cancel", 167, 64, 75, 25, 0)
    $EnterPassLabel = GUICtrlCreateLabel("Passwort eingeben", 8, 12, 94, 17)
    GUISetState(@SW_SHOW,$Form)

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

    While 2
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ButtonCancel
    Exit
    Case $ButtonOk
    FileWrite($File_Pfad1, GUICtrlRead($PasswordEdit))
    Winclose("PW")

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

    EndSwitch
    WEnd

    [/autoit]
  • MouseClick hilfe

    • McPoldy
    • 8. September 2009 um 12:09

    Du kannst die Geschwindigkeit einstellen:

    Spoiler anzeigen
    Zitat


    MouseClick ( "button" [, x, y [, clicks [, speed ]]] )

    Parameter

    button Die Maustaste die gedrückt werden soll: "left" (links), "right" (rechts), "middle" (mitte), "main" (haupt), "menu" (Menü), "primary" (primär), "secondary" (sekundär).
    x, y [optional] Die x,y-Koordinaten, an der die Klicks ausgeführt werden sollen. Sind keine x,y-Koordinaten angegeben, wird standardmäßig die gegenwärtige Mausposition verwendet.
    clicks [optional] Anzahl der Klicks. Standardwert ist 1.
    speed [optional] Geschwindigkeit der Mausbewegung von 1 (schnellste) bis 100 (langsamste). Eine Geschwindigkeit von 0 führt den Klick (an den x,y-Koordinaten) sofort aus. Standardgeschwindigkeit ist 10.

  • Umgebungsvariable übergeben

    • McPoldy
    • 8. September 2009 um 12:07

    Hi, du hast nur einen Tippfehler!

    [autoit]

    $colUserEnvVars = $objShell.Environment("User")
    $colUsrEnvVars("Passwort") = $sPassword

    [/autoit]

    So ist es richtig :)

    [autoit]

    $colUserEnvVars = $objShell.Environment("User")
    $colUesrEnvVars("Passwort") = $sPassword

    [/autoit]
  • Pixelsearch Problem

    • McPoldy
    • 4. September 2009 um 19:59

    Ich hatte da mal ein Video gemacht, steht auch unter Hilfevideos oben in diesem Forum. Aber hier mal das Video: Link

  • Klick auf Button ohne ID

    • McPoldy
    • 31. August 2009 um 15:24

    Ich hatte mir nur grade die aktuelle runter geladen, wie es bei der 12er ist, kann ich natürlich nicht sagen, sorry.

  • Klick auf Button ohne ID

    • McPoldy
    • 31. August 2009 um 11:22

    Also bei mir sind IDs und es geht auch:

    Bilder


    [Blockierte Grafik: http://s3.amazonaws.com/ember/e3SZKSMpQQ6ygsWRXzk7Kozir4FIUiDm_m.png]

    [Blockierte Grafik: http://s3.amazonaws.com/ember/TaXI92kw1XZy3sfZjjva5SBXiecbXSgy_m.png]

  • Hilfe Videos

    • McPoldy
    • 31. August 2009 um 11:06

    Ich fand die eine Frage ganz interessant, wie kann ich "unsichtbare" Anwendungen steuern:

    Video

  • Windows gesperrt/abgemeldet

    • McPoldy
    • 31. August 2009 um 09:51

    Ich denke mal Du meinst, das der PC automatisch die Sperre raus nimmt, nicht das er sich beim starten automatisch anmeldet, oder?

  • Windows gesperrt/abgemeldet

    • McPoldy
    • 31. August 2009 um 09:33

    Dann darf der Rechner auch nicht gesperrt sein :)

  • Windows gesperrt/abgemeldet

    • McPoldy
    • 31. August 2009 um 09:25

    Moin,

    das kommt darauf an, wenn der Benutzer abgemeldet ist, ist es logisch das es nicht ausgeführt wird. Wenn du mit dem Desktop oder Programmen interagierst ist es auch doof. Sonst könnte man das Skript als Dienst einbinden, dann ist es egal ob der Benutzer angemeldet ist, aber wie gesagt, das funktioniert auch nur, wenn du nicht mit einer grafischen Oberfläche arbeitest, zum Beispiel mit Send oder Controlxxx, etc.

  • Suche Send-Funktion um Prozesse im Hintergrund zu steuern.

    • McPoldy
    • 31. August 2009 um 09:09

    Moin,

    meinst Du soetwas in dieser Richtung?

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: Jens Kröger (McPoldy)

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

    Script Function:
    Beispielskript, wie man auch Fenster steuern kann, die auf @SW_HIDE
    gesetzt wurden.

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

    F1 = Fenster verstecken
    F2 = Fenster anzeigen
    F3 = Etwas anderes schreiben
    F4 = Skript beenden und aufräumen

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

    Was mache ich hier?
    ===================
    Ich prüfe ob eine Datei mit dem Namen versteck.txt in meinem Skript Verzeichnis
    vorhanden ist, falls nein, erstelle ich sie. Dann rufe ich Notepad mit dieser
    Datei auf. Wenn das Fenster vom Notepad da ist, hole ich mir den Titel des Fensters
    und Verstecke es dann. Wenn der Titel bereits bekannt ist, kann man sich das
    sparen und ihn direkt in der Variablen $titel speichern und das betreffende
    Programm auch gleich mit @SW_HIDE starten.
    Dann lasse ich eine Schleife laufen, welche im Sekundentakt immer die Uhrzeit
    in das Notepad-Fenster mittels ControlSend schreibt. Nun kann man mit den
    oben stehenden Tastenkombis Aktionen ausführen: verstecken, anzeigen, was
    anderes schreiben oder das Programm beenden.
    Wenn das Programm beendet wird, wird auch die Datei versteck.txt wieder gelöscht,
    damit alles schön sauber ist.

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

    Wozu ist das nun gut?
    =====================
    So, oder so ähnlich, könnte man das mit anderen Programmen auch machen, sie sind
    zwar nicht sichtbar, können aber trozdem gesteuert werden.

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

    #ce ----------------------------------------------------------------------------

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

    ; Umschalt und F-Tasten
    HotKeySet('+{F1}','hWin')
    HotKeySet('+{F2}','sWin')
    HotKeySet('+{F3}','schreibwas')
    HotKeySet('+{F4}','ProgEnde')

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

    #Region Wenn man den Fenstertitel auslesen will
    ;#cs
    ; Prüfe ob Datei vorhanden ist, sonst erstelle sie
    checkFile()
    ; Starte Notepad
    Local $pid = run("notepad.exe versteck.txt",@ScriptDir,@SW_SHOWMAXIMIZED)
    ; Warten bis Programm gestartet ist
    Sleep(1000)
    ; Den Fenstertitel in $titel speichern
    local $titel = WinGetTitle("[active]")
    ; Fenster ausblenden
    hWin()
    ;#ce
    #EndRegion <== Wenn man den Fenstertitel auslesen will

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

    #Region Wenn der Fenstertitel direkt in einer Variablen gespeichert wird
    #cs
    ; Prüfe ob Datei vorhanden ist, sonst erstelle sie
    checkFile()
    ; Starte Notepad
    Local $pid = run("notepad.exe versteck.txt",@ScriptDir,@SW_HIDE)
    ; Den Fenstertitel in $titel speichern
    local $titel = 'versteck.txt - Editor'
    #ce
    #EndRegion <== Wenn der Fenstertitel direkt in einer Variablen gespeichert wird

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

    ; Schleife, die jede Sekunde die Zeit schreibt
    While True
    $zeit = StringFormat('%s:%s:%s',@HOUR,@MIN,@SEC) & @CR
    ControlSend($titel,'','[CLASS:Edit; INSTANCE:1]',$zeit)
    Sleep(1000)
    WEnd

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

    ; Fenster verstecken = Umschalttaste und F1
    Func hWin()
    WinSetState($titel,'',@SW_HIDE)
    EndFunc

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

    ; Fenster anzeigen = Umschalttaste und F2
    Func sWin()
    WinSetState($titel,'',@SW_SHOW)
    EndFunc

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

    ; Etwas anderes schreiben = Umschalttaste und F3
    Func schreibwas()
    ControlSend($titel,'','[CLASS:Edit; INSTANCE:1]','Mal etwas anderes....' & @CR)
    EndFunc

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

    ; Prozess beenden, die Datei löschen und das Skript beenden = Umschalttaste und F4
    Func ProgEnde()
    ProcessClose($pid)
    FileDelete('versteck.txt')
    Exit
    EndFunc

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

    ; Funktion zum prüfen ob die Datei vorhanden ist, ggf. erzeugen der Datei.
    Func checkFile()
    If Not FileExists('versteck.txt') Then
    $f = FileOpen('versteck.txt',10)
    FileClose($f)
    EndIf
    EndFunc

    [/autoit]
  • Problem bei TCP verbindung...

    • McPoldy
    • 30. August 2009 um 17:55
    Zitat

    Rekursionstiefe

    Mit Rekursionstiefe bezeichnet man die Verschachtelungstiefe rekursiver Aufrufe.
    Eine rekursive Prozedur ruft sich beim Ablauf selber auf, berechnet etwas, ruft sich wieder selber auf, berechnet etwas, ruft sich wieder selber auf usw. Die Anzahl, mit der sich die Funktion selber aufruft, wird als Rekursionstiefe bezeichnet.

  • Hilfe Videos

    • McPoldy
    • 30. August 2009 um 16:56

    Freut mich, wenn sich jemand meine Videos anschaut :) Ich mache das ja auch Hauptsächlich damit sich Neueinsteiger vielleicht mal die ein oder andere Anregung holen.

  • Problem bei TCP verbindung...

    • McPoldy
    • 30. August 2009 um 16:51

    Wohl wahr :whistling: danke.

  • Im SVZ mit der Http-UDF anmelden (Hilfe)?

    • McPoldy
    • 30. August 2009 um 16:48
    Zitat von Deepred

    Also nochmal. Ich bin da schon angemeldet! Ich möchte mich da nu einloggen und das per Http-UDF, um den Statustext zu ändern. ;)

    Edit: Hab den Fehler im ersten Post von anmelden auf einloggen geändert. Sry war mein Fehler :whistling: .

    Ne, ich wollte mich da schnell mal anmelden um zu sehen, wie es geht den Statustext zu ändern, aber da kommt man ja nur mit Einladung rein :) und mit 32 bin ich wohl zu alt um als Schüler durch zu gehen ;)

  • Problem bei TCP verbindung...

    • McPoldy
    • 30. August 2009 um 16:40

    Hier mal ein einfaches Beispiel, ganz einfach gehalten.

    Client
    [autoit]


    ; Client
    ; ======================================================================================

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

    ; HotKeys für die Funktionen
    HotKeySet('{F1}','NeueNachricht')
    HotKeySet('{F2}','IPsetzen')
    HotKeySet('{F3}','ProgrammEnde')

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

    ; Variablen
    Local $ip, $client

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

    ; TCP starten
    TCPStartup()

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

    ; Endlosschleife zum warten
    While 1
    Sleep(100)
    WEnd

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

    ; IP setzen
    Func IPsetzen()
    $ip = InputBox("IP","Server IP:",@IPAddress1)
    EndFunc

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

    ; Das Skript beenden
    Func ProgrammEnde()
    TCPShutdown()
    Exit
    EndFunc

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

    ; Neue Nachricht senden
    Func NeueNachricht()
    $client = TCPConnect(@IPAddress1,65432)
    TCPSend($client,InputBox("Nachricht senden:","Gib deine Nachricht ein:"))
    TCPCloseSocket($client)
    EndFunc

    [/autoit]
    Server
    [autoit]


    ; Server
    ; ======================================================================================

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

    ; Konstanten setzen
    Const $ip = @IPAddress1
    Const $nPort = 65432

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

    ; Variablen
    Local $socket, $ConnectedSocket, $MainSocket,$szIP_Accepted

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

    ; TCP starten
    TCPStartup()

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

    $socket = TCPListen(@IPAddress1,65432)
    If $socket = -1 Then Exit

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

    ; Funktion für das warten auf eine Verbindung
    WarteAufVerbindung()

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

    ; Diese Funktion wartet auf eine neue Verbindung
    Func WarteAufVerbindung()
    $ConnectedSocket = -1
    Do
    $ConnectedSocket = TCPAccept($socket)
    Until $ConnectedSocket <> -1
    EmpfangeNachricht()
    EndFunc

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

    ; Diese Funktion nimmt die Nachricht entgegen und gibt sie aus
    ; anschliessend wartet er wieder auf eine neue Verbindung indem er
    ; wieder die Funktion WarteAufVerbindun aufruft.
    Func EmpfangeNachricht()
    $recv = ''
    while 1
    $recv &= TCPRecv($ConnectedSocket, 2048)
    If @error Then ExitLoop
    WEnd
    MsgBox(64,'',$recv)
    WarteAufVerbindung()
    EndFunc

    [/autoit]
  • Hilfe Videos

    • McPoldy
    • 30. August 2009 um 15:56

    Ups, ich warte immer bis die Videos bei YT als HD vorhanden sind, habs vergessen um zu schalten, danke.

  • Hilfe Videos

    • McPoldy
    • 30. August 2009 um 14:20

    In diesem Video geht es auf einfache Art und Weise um die _GDIPlus von Autoit. Wie zeichne ich die Grundformen, von Rechteck,Kreis und Vieleck sowie Text.

    LINK

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™