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

Beiträge von Oscar

  • EditBox aktuelle Line abfragen?

    • Oscar
    • 7. Februar 2009 um 15:13

    Oder ganz ohne Includes:

    [autoit]


    $hGui = GUICreate("Test", 400, 400)
    $hEdit = GUICtrlCreateEdit("Zeile 0" & @CRLF & "Zeile 1" & @CRLF & "Zeile 2" & @CRLF & "Zeile 3", 10, 10, 380, 380)
    GUISetState()

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

    While GUIGetMsg() <> -3
    ToolTip(ControlCommand($hGui, '', $hEdit, "GetCurrentLine", ""))
    WEnd

    [/autoit]
  • Hallöchen

    • Oscar
    • 6. Februar 2009 um 19:36

    Als ich 14/15 war, gab's das WWW noch gar nicht. :D

    Komme mir gerade ziemlich alt vor... ;)

    Na, egal...herzlich willkommen! :)

  • Frage zu ShellExecute

    • Oscar
    • 6. Februar 2009 um 18:28

    Normalerweise führt man mit ShellExecute eine Datei aus.
    Der erste Parameter kennzeichnet dabei diese Datei, der zweite Parameter evtl. Übergabeparameter, der Dritte das Arbeitsverzeichnis (wo diese Datei zu finden ist). Rest kennst Du ja.

    Beispiel:

    [autoit]

    ShellExecute('AutoIt3.chm', '', 'C:\Programme\AutoIt3\', 'open', @SW_MINIMIZE)

    [/autoit]
  • auswahldialog in gui einbinden

    • Oscar
    • 6. Februar 2009 um 18:21

    Du meinst nicht das Standard-Icon, sondern eins passend zum Dateityp, ja?
    Das geht schon, aber...das dauert sehr lange beim einlesen. Ich habe hier schon getrickst (siehe Beitrag zum Script), um überhaupt ein Icon anzeigen zu lassen. Eine Dateityp-Bestimmung für jede Datei dürfte ziemlich zeitaufwendig werden. :huh:

  • auswahldialog in gui einbinden

    • Oscar
    • 6. Februar 2009 um 04:25

    Meinst Du sowas: _GUICtrlTreeView_CreateDirectory (erstellt ein TreeView mit Verzeichnissen +Dateien)

  • AutoIt Skripte beenden lassen

    • Oscar
    • 5. Februar 2009 um 17:11

    Dann ist Dein Konzept falsch! ;)
    Vermutlich "verwaltest" Du die "Rohstoffe" in einem Edit-/Inputfeld und liest, wenn Du den Wert brauchst, diesen aus dem Feld aus. So läßt sich das aber von außen leicht manipulieren.
    Wenn Du hingegen den Wert in einer Variablen speicherst und das Control nur zur Anzeige verwendest, dann ist eine Manipulation schon schwieriger.

    Edit: progandy war schneller. ;)

  • Bei Klick auf Button in einer Gui + 1 Addieren und Anzeigen

    • Oscar
    • 5. Februar 2009 um 04:31

    Beim OnEvent-Mode muss in die While...WEnd-Schleife aber noch ein Sleep() rein, sonst hast Du 100% CPU-Last.

    Beispiel:

    [autoit]


    While 1
    Sleep(20) ; der Wert ist unkritisch, sollte aber über 10 liegen.
    WEnd

    [/autoit]
  • ProcessClose geht nicht ganz

    • Oscar
    • 4. Februar 2009 um 21:10

    Window.LocationURL, klappt! :thumbup:

    Verdammt, den kannte ich noch nicht. :rolleyes:

  • AutoIt Skripte beenden lassen

    • Oscar
    • 4. Februar 2009 um 21:07

    Je nachdem, was Du machen willst, gibt es verschiedene Möglichkeiten. Du könntest z.B. die Control...-Befehle verwenden:

    Script 1 (compilieren und starten):

    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $file, $btn, $msg

    GUICreate("My GUI", 320, 120)
    $file = GUICtrlCreateInput("", 10, 5, 300, 20)
    GUISetState()
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    MsgBox(4096, "test", GUICtrlRead($file))
    EndFunc ;==>Example

    [/autoit]

    Script 2 (erst staren, wenn das erste Script bereits gestartet ist):

    [autoit]

    ControlSetText('My GUI', '', '[CLASS:Edit; INSTANCE:1]', 'Sende diesen Text')

    [/autoit]

    Das ist jetzt nur ein ganz einfaches Beispiel.

  • ProcessClose geht nicht ganz

    • Oscar
    • 4. Februar 2009 um 20:51

    Das zeigt bei mir aber nicht den vollen Pfad an, sondern nur das letzte Verzeichnis. :huh:

  • AutoIt Skripte beenden lassen

    • Oscar
    • 4. Februar 2009 um 20:32

    Genau das macht WinClose. Aus der Hilfe:

    Zitat


    Diese Funktion sendet einen Schließen/Beenden-Befehl an das angegebene Fenster. Das Ergebnis ist abhängig vom Status des Programms. Sind z.B. noch geänderte Dokumente offen, so wird es nachfragen, ob die Daten gesichert werden sollen. Um das Schließen eines Fensters zu erzwingen ist die WinKill Funktion zu verwenden. Falls mehrere Fenster das Kriterium erfüllen, wird das zuletzt aktive Fenster geschlossen.

  • AutoIt Skripte beenden lassen

    • Oscar
    • 4. Februar 2009 um 20:11

    Wenn Dein erstes Script eine GUI besitzt (wegen Tray-Icon), dann lieber WinClose benutzen statt den Prozess zu beenden.

  • ProcessClose geht nicht ganz

    • Oscar
    • 4. Februar 2009 um 20:01

    Uh, stimmt!
    Man müsste dann zwei Tests machen oder, wie Du vorgeschlagen hast, über den WindowTitle.

    Dass da nur "Eigene Dateien" steht macht aber nichts, denn man kann den Explorer auch damit aufrufen:

    [autoit]


    ShellExecute('explorer', '', 'Eigene Dateien')

    [/autoit]
  • ProcessClose geht nicht ganz

    • Oscar
    • 4. Februar 2009 um 17:41

    Verstehe ich nicht!
    Ich habe als Beispiel drei Explorerfenster geöffnet ("Eigene Dateien", "Arbeitsplatz" und "C:\") und bei mir kommen drei MsgBoxen mit Titel, Handle und Pfad.

    Äh...hast Du Vista? Weil bei mir: XP

  • ProcessClose geht nicht ganz

    • Oscar
    • 4. Februar 2009 um 17:25

    Die Pfade von allen geöffneten Explorerfenstern?
    Doch, das geht:

    [autoit]


    $var = WinList()
    For $i = 1 To $var[0][0]
    ; Only display visible windows that have a title
    If $var[$i][0] <> "" And IsVisible($var[$i][1]) Then
    $text = StringRegExpReplace($var[$i][0], '.*?\((.+)\)', '$1')
    $path = ControlGetText('[CLASS:CabinetWClass]', $text, 'Edit1')
    If $path <> "" Then MsgBox(0, "Details", "Title=" & $var[$i][0] & @LF & "Handle=" & $var[$i][1] & @LF & "Pfad=" & $path)
    EndIf
    Next

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

    Func IsVisible($handle)
    Return BitAND(WinGetState($handle), 2)
    EndFunc ;==>IsVisible

    [/autoit]
  • Gui Problem

    • Oscar
    • 4. Februar 2009 um 16:50

    Andy hat schon recht, das Problem ist das Seitenverhältnis. Der 15"-Röhrenmonitor hat ein Verhältnis von 4:3 beim 17" TFT stimmt das aber nicht ganz. Damit ein quadratischer Pixel auf beiden Monitoren gleich ist, müsstest Du den 15"-Monitor mit 1280x960 betreiben oder die GUI anpassen. Wir hatten diesbezüglich schonmal einen Thread (such mal nach: "_GetMaxResolution").

  • Wie legt man die Reihenfolge der Controls nach drücken der Tab-Taste fest .

    • Oscar
    • 3. Februar 2009 um 20:30

    Nur so'ne Idee: Kann man nicht einfach die Tabtaste als Hotkey festlegen und dann in der Funktion die Controls anhand einer Liste (Array) mit ControlFocus durchgehen?
    Habe das auch noch nicht gemacht, aber theoretisch müsste das doch gehen, oder?

  • Wie kann man mit autoit beispiel ein test.exe von cd auf festplatte kopieren

    • Oscar
    • 3. Februar 2009 um 17:05

    Wenn sich das Script ebenfalls auf der CD befindet, kannst Du doch @ScriptDir benutzen oder einen relativen Pfad ausgehend vom Scriptpfad.

  • Wie kann man mit autoit beispiel ein test.exe von cd auf festplatte kopieren

    • Oscar
    • 3. Februar 2009 um 14:55
    Zitat von Baron1977

    ich denke ist klar wenn der skript nicht die datei findet wo sie ist auch das probleme mit programme die von der cd starten und von dort installieren sollen auf der platte geht

    Was? Benutzt Du einen automatischen Übersetzer?

  • HTML Zeichen?

    • Oscar
    • 3. Februar 2009 um 14:38

    Wenn Du nur den Teil zwischen <title> und </title> brauchst, dann geht das doch auch so:

    [autoit]


    #include <Array.au3>
    #include <INet.au3>
    $string = _INetGetSource('www.autoitscript.com')
    $array = StringRegExp($string, '<title>(.*)</title>', 1)
    _ArrayDisplay($array)

    [/autoit]

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™