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

Beiträge von autoBert

  • Kein Zugriff auf Checkbox

    • autoBert
    • 29. Januar 2010 um 01:42

    Hallo

    Herzlich willkommen im Forum und viel Spass mit AutoIt.
    GuiCtrlSetState ist für eigen erstellte Controls in eigenen Guis gedacht.
    Verwende stattdessen ControlCommand

    [autoit]

    ControlCommand($Titel,$Text,"[CLASS:Button;INSTANCE:1]","Check", ")

    [/autoit]

    online erstellt, unbedingt testen,

    mfg (Auto)Bert

  • AutoStarter neue Version: v 0.7.4

    • autoBert
    • 29. Januar 2010 um 01:23

    Hallo Community,

    ich habe zu Demostrationszwecken und aus Langeweileein kleines Tool geskripted, mit dem man öfters benutzte Programme, aber auch MP3's aufrufen kann.

    Danke sagen für von mir benutzte Funktionen aus diesem Forum möchte ich an:

    • funkey für Menu-everywhere Menü überall platzieren
    • BugFix für _CreateTmpFile Fremddateien "includen" (ohne FileInstall)
      und _CreateTmpBinaryCall mit dem ich die von mir benutzten ICOns und JPGs direkt in den Source einbinden konnte (daher nicht erschrecken, wenn ihr im Skript lange Zahlenkolonnen entdeckt)
    • @ChaosKeks für Drag and Drop Funktionen (so musste ich sie schon nicht selber tippen)


    HowToUse: einfach die gewünschten Dateien auf AutoStarter ziehen und fallen lassen. Die Dateien werden automatisch in 3 verschiedenene Listviews aufgenommen und können von dort über Doppelklick aufgerufen werden.

    ToDo:

    • Dateien speichern und beim nächsten Start wieder einbinden erledigt
    • Möglichkeit zum erfassen von bevorzugten INet-Seiten schaffen erledigt
    • Das Feld Beschreibung mit Leben füllen, d.h. Möglichkeit zum erfassen der Beschreibung einfügen.erledigt
    • bugs suchen

    Über Kritik und Anregungen zur Weiterentwicklung freut sich (Auto)Bert

    Edit: Sourcecode durch die integrierte Bilddaten zu lang daher im Anhang als Zip

    Dateien

    AutoStarter.zip 781,29 kB – 681 Downloads AutoStarter74.zip 793,79 kB – 1.012 Downloads
  • Silverlight stellt sich auch mal vor!?

    • autoBert
    • 28. Januar 2010 um 18:32

    Hallo Silverlight,

    herzlich willkommen im Forum und weiterhin viel Spass mi AutoIt.

    mfg (Auto)Bert

  • E-Mails senden Problem

    • autoBert
    • 28. Januar 2010 um 17:43

    Halo freaky,

    freut mich dass es klappt, du solltest aber deinen Thread auch auf gelöst stellen:

    • 1. Beitrag zum bearbeiten aufrufen
    • Präfix (nähe Überschrift) auf gelöst setzen
    • wieder abspeichern

    ,

    mfg (Auto)Bert

  • Textdatei scannen und gewisse Zeilen angeben/ersetzen

    • autoBert
    • 28. Januar 2010 um 17:38

    Hallo

    Zitat von lavido

    Da ich mich gerade an meinem Laptop befinde und zu faul bin um den genauen Inhalt zu finden

    durch das fehlende einstellen einer solchen Datei nimmst du dir die Möglichkeit Lösungen mit Hilfe von regulären Ausdrücken zu bekommen,

    mfg (Auto)Bert

  • Login in fremdes Programm

    • autoBert
    • 28. Januar 2010 um 17:29

    Hallo capricorn,

    auf Grund deiner PN folgender Lösungsvorschlag:

    Spoiler anzeigen
    [autoit]

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

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

    AutoIt Version: 3.2.12.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

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

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

    ; Script Start - Add your code below here
    ; MsgBox (0,"",@username,@IPAddress1)

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

    Opt("GUIOnEventMode", 1) ;0=disabled, 1=OnEvent mode enabled

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

    ;Run("H:\Private Ablage\Prog-rovo\Xalwin35_E\oxalw32.exe","H:\Private Ablage\Prog-rovo\Xalwin35_E")

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

    $sTitle = "[CLASS:ExploreWClass]" ;mit Class des Window's tauschen (laut AutoIt v3 Window Info eintragen)
    WinActivate($sTitle)
    $hTitle = WinWaitActive($sTitle, "", 10) ;wartet (maximal 10 sec) bis das Fenster aktiv ist
    ;den Fenstertext
    If $hTitle = 0 Then
    MsgBox(0, "", "login window does not exist")
    Exit
    Else
    MsgBox(0, "", "window exists")
    $sId = 12345 ;mit der ID oder ClassnameNN des Controls tauschen (laut AutoIt v3 Window Info eintragen)
    ControlSend($hTitle,"", $sId, "*PASSWORT*")
    Send("{enter}")

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

    MsgBox(0, "mousegetpos()", "@error=" & @error)

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

    Sleep(500)
    ;Send("{enter}")
    MsgBox(0, "", "after send enter")

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

    EndIf

    [/autoit]

    du musst mit dem AutoIt v3 Window Info Tool die

    • Class des Window's suchen und diese $sTitle zuordnen
    • den ClassnameNN oder die ID des Eingabefeldes für das Passwort suchen und diese $sID zuordnen

    (beides am besten kopieren).
    Das Programm wartet maximal 10 sec. auf das Fenster (sollte reichen) und logt sich ein sobald es verfügbar ist. Kann es leider in Ermangelung der Software nicht testen sollte aber klappen. Ansonsten müsstest du ScreenShots bzw. die gesammelten Informationen vom AutoIt v3 Window Info Tool hier einstellen,

    mfg (Auto)Bert

  • Login in fremdes Programm

    • autoBert
    • 28. Januar 2010 um 15:49

    Hallo capricorn,

    herzlich willkommen im Forum und viel Spass mit AutoIt.
    Poste doch bitte dein bisheriges Skript und benenne das Programm, das du automatisieren möchtest, dann kann man dir besser helfen.
    Im allgemeinen kann ich dir hierzu nur empfehlen in der Hilfe unter Allgemeines zu AutoIt die Kapitel

    • AutoIt Fenster-Informations-Tool (AU3Info)
    • Fenster-Titel und -text (Grundlagen)
    • Fenster-Titel und -Text (erweitert)

    durchzulesen und die Tutorials

    • Tutorial - Notepad
    • Tutorial - WinZip

    durchzuarbeiten.

    mfg (Auto)Bert

  • Checkbox

    • autoBert
    • 28. Januar 2010 um 02:01
    Zitat von m-obi

    $GUI_CHECKED ist 1, dass ist richtig,aber $GUI_UNCHECKED ist 4. Checken geht, aber Unchecken nicht.

    Oh sorry, bin wohl etwas :sleeping: ,

    mfg (Auto)Bert

  • Checkbox

    • autoBert
    • 28. Januar 2010 um 00:37

    Hallo sirocool,

    so:

    Spoiler anzeigen
    [autoit]

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

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

    $2 = IniRead(@ScriptDir & "\data\settings.ini", "Lizenzkey", "checkbox2", "Default")
    $2_1 = ""
    ;$2_1 = IniRead(@ScriptDir & "\data\settings.ini", "Lizenzkey", "checkbox2", "Default")
    $Checkbox2 = GUICtrlCreateCheckbox("Deaktiviert", 104, 48, 97, 17)
    If "0" >= $2 And "" <= $2_1 Then
    GUICtrlSetState ($Checkbox2 ,$GUI_UNCHECKED)
    ElseIf "1" >= $2 And "" <= $2_1 Then
    GUICtrlSetState ($Checkbox2 ,$GUI_CHECKED)
    EndIf

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

    #Region ### START Koda GUI section ### Form=C:\Users\Sirocool\Pictures\WebPlayer\Vorlagen\Lizenzschlüssel.kxf
    $Form1 = GUICreate("Lizenzschlüssel", 395, 78, 596, 505)
    GUISetFont(8, 800, 0, "MS Sans Serif")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("Ihr Lizenzschlüssel.:", 8, 16, 119, 21)
    $Input1 = GUICtrlCreateInput("", 128, 16, 257, 21)
    $Checkbox1 = GUICtrlCreateCheckbox("Aktiviert", 8, 48, 97, 17)
    ;GUICtrlSetState($Checkbox1, $GUI_Disable)
    $Checkbox2 = GUICtrlCreateCheckbox("Deaktiviert", 104, 48, 97, 17)
    $aIniVars = IniReadSection("Liz.INI", "Lizenzkey")

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

    GUICtrlSetState($Checkbox1,mod($aIniVars[1][1]+7,4)+1) ;1 1 bleibt 1 also $GUI_CHECKED 0 wird 4 $GUI_UNCHECKED
    GUICtrlSetState($Checkbox2,mod($aIniVars[2][1]+7,4)+1) ;1 1 bleibt 1 also $GUI_CHECKED 0 wird 4 $GUI_UNCHECKED

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

    ;GUICtrlSetState($Checkbox2,$2)
    GUICtrlSetState($Checkbox2, $GUI_Disable)
    $Okay = GUICtrlCreateButton("Okay", 208, 48, 179, 21)
    GUICtrlSetState($Okay, $GUI_Disable)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    du musst evtl. noch den Namen der Ini anpassen,

    Edit: m-obi's Lösung ist sofort mit noch mehr Checkboxen lauffähig
    Edit2: Skript ausgebessert (GUICtrlSetState)

    Post: 1177
    mfg (Auto)Bert

  • GUI-Elemente "elegant" aktivieren oder deaktivieren

    • autoBert
    • 28. Januar 2010 um 00:26
    Zitat von benne

    Zitat von »AutoBert«
    Hallo benne,

    so z.B.:

    :?:
    oder so:

    Spoiler anzeigen
    [autoit]

    ;#include <GuiComboBox.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ;#include <array.au3>

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

    #include <File.au3>

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

    Const $sElect = "bitte einen Benutzer auswählen"

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

    $hGui = GUICreate("Combobox mit INI ", 250, 120, 302, 218)
    $hcboUsers = GUICtrlCreateCombo($sElect, 8, 8, 200, 25,$CBS_DROPDOWNLIST)
    $hlblUser = GUICtrlCreateLabel("",8,35,200,25)
    $hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 65)
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)

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

    $list1 = _FileListToArray(@ScriptDir & "\Profiles", "*.ini", 1)

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

    If @error Then
    if MsgBox(36, "Keine Datei gefunden!", "Testdaten erzeugen?") = 6 then
    $sData = "Key1=Value1" & @LF & "Key2=Value2" & @LF & "Key3=Value3"
    if not FileExists(@ScriptDir & "\Profiles") then DirCreate(@ScriptDir & "\Profiles")
    $sIniName = @ScriptDir & "\Profiles\TestUser.ini"
    IniWriteSection($sIniName, "Sektion1", $sData)
    GUICtrlSetData($hcboUsers, "TestUser")
    Else
    Exit
    EndIf
    Else
    For $i = 1 To $list1[0]
    $sUser = StringTrimRight($list1[$i], 4)
    GUICtrlSetData($hcboUsers, $sUser)
    Next

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

    EndIf

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hcboUsers
    If GUICtrlRead($hcboUsers) = $sElect Then
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
    GUICtrlSetData($hlblUser,"")
    Else
    GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
    GUICtrlSetData($hlblUser,GUICtrlRead($hcboUsers))
    EndIf
    Case $hbtnOpen
    $sIniName = @ScriptDir & "\Profiles\" & GUICtrlRead($hcboUsers) & ".ini"
    $aIniVars = IniReadSection($sIniName, "Sektion1")
    ;_ArrayDisplay($aIniVars,"Sektion1:")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    For $i = 1 To $aIniVars[0][0]
    MsgBox(4096, "", "Schlüssel: " & $aIniVars[$i][0] & @CRLF & "Wert: " & $aIniVars[$i][1])
    Next
    EndIf

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

    EndSwitch
    WEnd

    [/autoit]

    falls du ein spezielles Problem hast, poste doch dein Skript,

    mfg (Auto)Bert

  • GUI-Elemente "elegant" aktivieren oder deaktivieren

    • autoBert
    • 27. Januar 2010 um 23:32

    Hallo benne,

    so z.B.: [spoiler]

    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $Checkbox_1, $Checkbox_2, $Checkbox_3, $Checkbox_4, $Kopieren, $msg

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

    GUICreate("My GUI with Checkboxgroup") ; will create a dialog box that when displayed is centered

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

    GUICtrlCreateGroup("Datei zum kopieren auswählen:", 10, 10, 190, 200)
    $Checkbox_1 = GUICtrlCreateCheckbox("Checkbox 1", 20, 40)
    $Checkbox_2 = GUICtrlCreateCheckbox("Checkbox 2", 20, 70)
    $Checkbox_3 = GUICtrlCreateCheckbox("Checkbox 3", 20, 100)
    $Checkbox_4 = GUICtrlCreateCheckbox("Sind Sie sicher???", 20, 130)
    $Kopieren = GUICtrlCreateButton("Kopieren", 30, 170)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

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

    GUICtrlSetState($Checkbox_2, $GUI_DISABLE)
    GUICtrlSetState($Checkbox_3, $GUI_DISABLE)
    GUICtrlSetState($Kopieren, $GUI_DISABLE)

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

    GUISetState() ; will display the GUI

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox_1
    If BitAND(GUICtrlRead($Checkbox_1), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($Checkbox_2, $GUI_ENABLE)
    GUICtrlSetState($Checkbox_3, $GUI_ENABLE)
    Else
    GUICtrlSetState($Checkbox_2, $GUI_DISABLE)
    GUICtrlSetState($Checkbox_3, $GUI_DISABLE)
    EndIf
    Case $Checkbox_4
    If BitAND(GUICtrlRead($Checkbox_4), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($Kopieren, $GUI_ENABLE)
    Else
    GUICtrlSetState($Kopieren, $GUI_DISABLE)
    EndIf

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

    Case $Kopieren
    If BitAND(GUICtrlRead($Checkbox_1), $GUI_CHECKED) = $GUI_CHECKED Then
    MsgBox(0, "Checkbox", "1 ausgewählt")
    If BitAND(GUICtrlRead($Checkbox_2), $GUI_CHECKED) = $GUI_CHECKED Then MsgBox(0, "Checkbox", "2 ausgewählt")
    If BitAND(GUICtrlRead($Checkbox_3), $GUI_CHECKED) = $GUI_CHECKED Then MsgBox(0, "Checkbox", "3 ausgewählt")
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>Example

    [/autoit]

    [/spoiler

    mfg (Auto)Bert

  • checkboxfinder

    • autoBert
    • 27. Januar 2010 um 23:01

    Hallo Secret1994,

    herzlich willkommen im Forum und viel Spass mit AutoIt.
    Zu deiner Frage sicher geht das, es gibt aber bessere Möglichkeiten als Pixelsearch. Lies dir dazu die Hilfe zu IE Benutzerdefinierte Funktion Referenz durch. Am besten startest du einmal das Beispiel zu _IE_Example zum testen.
    Edit (eingefügt): und natürlich auch das Beispiel zu _IEFormElementCheckBoxSelect
    Auch wäre es gut wenn du den Link zu deiner Seite hier einstellst, damit man dir besser helfen kann,

    mfg (Auto)Bert

  • unter Case kein weiteres GUI fenster möglich?

    • autoBert
    • 27. Januar 2010 um 21:01

    Hallo teido,

    hier einmal das 1. Skript abgeändert nach SEuBo's Vorschlag:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('GUICoordMode', 2)
    $gui1 = GUICreate('GUI 1', 500, 300, -1, -1)
    $button1 = GUICtrlCreateButton('Aufruf GUI 2', 20, 20, 100, 21)
    $button3 = GUICtrlCreateButton('ICQ starten', 40, -1)
    $but_ext1 = GUICtrlCreateButton('Exit', 60, -1)

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

    $gui2 = GUICreate('GUI 2', 500, 300, -1, -1)
    $button2 = GUICtrlCreateButton('Zurück zu GUI 1', 20, 20, 100, 21)
    $button4 = GUICtrlCreateButton('MSG BOX', 40, -1)
    $but_ext2 = GUICtrlCreateButton('Exit', 60, -1)

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

    GUISetState(@SW_SHOW, $gui1)

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[0] ;Ereignis abfragen
    Case $button3
    Run("C:\Program Files\ICQ7.0\ICQ.exe")
    Case $button1
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui2)
    Case $but_ext1
    Exit
    Case $button2
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui2)
    Case $button4
    MsgBox(0, 'Test', 'Test')
    Case $but_ext2
    Exit
    Case $GUI_EVENT_CLOSE
    Switch $msg[1] ;ID der Gui abfragen
    Case $gui2
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui2)
    Case $gui1
    Exit
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]


    Das gleiche im OnEvent-Modus (den ich bevorzuge):

    Spoiler anzeigen
    [autoit]


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

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

    Opt('GUIOnEventMode', 1)

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

    $cidGui1 = GUICreate('GUI 1', 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $cidGui1 gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')

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

    $cidbtnToGui2 = GUICtrlCreateButton('&Aufruf GUI 2', 20, 20, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_CallGui2')
    ;Beim Klicken des Buttons wird die Funktion _CallGui2 aufgerufen

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

    $cidbtnICQ = GUICtrlCreateButton('&ICQ', 20, 50, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_RunICQ')
    ;Beim Klicken des Buttons wird die Funktion _RunICQ aufgerufen

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

    $cidbtnExit1 = GUICtrlCreateButton('be&enden', 20, 80, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_End')
    ;Beim Klicken des Buttons wird die Funktion _END aufgerufen

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

    $cidGui2 = GUICreate('GUI 2', 500, 300, 200, 50, -1, -1, $cidGui1)
    ;erzeugt eine GUI als Child von Gui1, die zurückgebebene ID wird in der Variablen $cidGui2 gespeichert
    GUISetOnEvent($GUI_EVENT_CLOSE, '_BackToGui1')
    ;Beim Klicken des Buttons wird die Funktion _BackToGui1 aufgerufen

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

    $cidButton2 = GUICtrlCreateButton('&MsgBox', 20, 20, 100, 21)
    GUICtrlSetOnEvent(-1, '_MsgBox')
    ;Beim Klicken des Buttons wird die Funktion _MsgBox aufgerufen

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

    $cidButton2 = GUICtrlCreateButton('&Zurück zu GUI 1', 20, 50, 100, 21)
    GUICtrlSetOnEvent(-1, '_BackToGui1')
    ;Beim Klicken des Buttons wird die Funktion _BackToGui1 aufgerufen

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

    $cidbtnExit2 = GUICtrlCreateButton('be&enden', 20, 80, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_End')
    ;Beim Klicken des Buttons wird die Funktion _END aufgerufen
    GUISetState(@SW_SHOW, $cidGui1)

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _end()
    GUIDelete($cidGui2)
    GUIDelete($cidGui1)
    Exit
    EndFunc ;==>_end

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

    Func _CallGui2()
    GUISetState(@SW_DISABLE, $cidGui1)
    GUISetState(@SW_SHOW, $cidGui2)
    EndFunc ;==>_CallGui2

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

    Func _RunICQ()
    Run("C:\Program Files\ICQ7.0\ICQ.exe")
    EndFunc ;==>_RunICQ

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

    Func _BackToGui1()
    GUISetState(@SW_ENABLE, $cidGui1)
    GUISetState(@SW_HIDE, $cidGui2)
    EndFunc ;==>_BackToGui1

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

    Func _MsgBox()
    MsgBox(0, 'Test', 'Test', 0, $cidGui2)
    EndFunc ;==>_MsgBox

    [/autoit]
  • _guictrlrichedit text färben

    • autoBert
    • 27. Januar 2010 um 19:47

    Hallo scripter192,

    laut Beispiel in der Hilfe zu _ChooseColor ist die Farbe für den Wert 0x808000 in BGR ein Türkis-Blau und in RGB ein oliv. Hier einmal das Beispiel:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Color_Example()

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

    Func _Color_Example()
    Local $GUI, $Btn_COLORREF, $Btn_BGR, $Btn_RGB, $iMemo

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

    $GUI = GUICreate("_ChooseColor() Beispiel", 400, 300)
    $iMemo = GUICtrlCreateEdit("", 2, 55, 396, 200, BitOR($WS_VSCROLL, $WS_HSCROLL))
    GUICtrlSetFont($iMemo, 10, 400, 0, "Courier New")
    $Btn_COLORREF = GUICtrlCreateButton("COLORREF", 70, 10, 80, 40)
    $Btn_BGR = GUICtrlCreateButton("BGR", 160, 10, 80, 40)
    $Btn_RGB = GUICtrlCreateButton("RGB", 250, 10, 80, 40)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Btn_COLORREF
    _ShowChoice($GUI, $iMemo, 0, _ChooseColor(0, 255, 0, $GUI), "Gewählte COLORREF-Farbe: ")
    Case $Btn_BGR
    _ShowChoice($GUI, $iMemo, 1, _ChooseColor(2, 0x808000, 1, $GUI), "Gewählte BGR-Farbe: ")
    Case $Btn_RGB
    _ShowChoice($GUI, $iMemo, 2, _ChooseColor(2, 0x0080C0, 2, $GUI), "Gewählte RGB-Farbe: ")
    EndSwitch
    WEnd
    EndFunc ;==>_Color_Example

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

    Func _ShowChoice($GUI, $iMemo, $Type, $Choose, $sMessage)
    Local $cr
    If $Choose <> -1 Then

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

    If $Type = 0 Then ; Konvertiere COLORREF in RGB für dieses Beispiel
    $cr = Hex($Choose, 6)
    GUISetBkColor('0x' & StringMid($cr, 5, 2) & StringMid($cr, 3, 2) & StringMid($cr, 1, 2), $GUI)
    Else
    GUISetBkColor($Choose, $GUI)
    EndIf

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

    GUICtrlSetData($iMemo, $sMessage & $Choose & @CRLF, 1)

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

    Else
    GUICtrlSetData($iMemo, "Farbauswahl vom Benutzer abgebrochen!" & @CRLF, 1)
    EndIf
    EndFunc ;==>_ShowChoice

    [/autoit]

    wenn du in _GuiCtrlRichEdit_SetCharColor die Farben verwendest die unter ColorRef zurückgegeben werden hast du den richtigen Wert also:

    [autoit]

    _GuiCtrlRichEdit_SetCharColor($hRichEdit,"32896")

    [/autoit]

    mfg (Auto)Bert

  • Einzelnen Ordner mit Passwort schützen

    • autoBert
    • 27. Januar 2010 um 18:17

    Hallo war10ck,

    falls du es mit AutoIt lösen willst schau dir dir die Encryption Benutzerdefinierte Funktion Referenz an,

    mfg (Ato)Bert

  • Firefox Tabs aktualisieren

    • autoBert
    • 27. Januar 2010 um 17:35

    Hallo DumDiDum,

    so?

    [autoit]

    #include <FF.au3>
    _FFConnect()

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

    HotKeySet("{Esc}","_exit")
    AdlibRegister("_Aktualisieren",1000*60*2)

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

    Func _Aktualisieren()
    For $i = 0 To _FFGetLength("tabs") -1
    _FFCmd("gBrowser.getBrowserAtIndex(" & $i &").reload()")
    Next
    EndFunc

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

    Func _exit()
    AdlibUnRegister("_Aktualisieren")
    Exit
    EndFunc

    [/autoit]

    mfg (Auto)Bert

  • working dirctory bei shellexecute

    • autoBert
    • 27. Januar 2010 um 17:20

    Hallo JuraX,

    Zitat von JuraX

    wie stellt man die working directory bei shellexecute ein?

    wie wärs mit dem optionalen Parameter WorkingDir?

    [autoit]

    ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )

    [/autoit]
    Zitat

    Parameter zu Shellexecute (aus dt. Hilfe:(

    filename Der Name der auszuführenden Datei (EXE, .txt, .lnk etc.).
    parameters [optional] Alle Parameter für das Programm. Wird ein leerer String ("") angegeben, so werden keine Parameter verwendet.
    workingdir [optional] Das Arbeitsverzeichnis. Wird ein leerer String ("") angegeben, so wird das aktuelle Arbeitsverzeichnis verwendet.
    verb [optional] Der zu verwendende Folgebefehl, gebräuchliche Folgebefehle sind:
    open = Öffnet die angegebene Datei. Die Datei kann eine Anwendung, ein Dokument oder ein Ordner sein.
    edit = Startet einen Editor und öffnet das Dokument zum Bearbeiten. Falls "filename" kein Dokument ist, scheitert die Funktion.
    print = Druckt das angegebene Dokument. Falls "filename" kein Dokument ist, scheitert die Funktion.
    properties = Zeigt die Eigenschaften der Datei oder des Ordners.
    Für mehr Informationen was passiert, wenn kein "verb" festgelegt ist siehe Bemerkungen.
    showflag [optional] Das Anzeige-Flag des ausgeführten Programms:
    @SW_HIDE = Verstecktes Fenster
    @SW_MINIMIZE = Minimiertes Fenster
    @SW_MAXIMIZE = Maximiertes Fenster

    Alles anzeigen

    mfg (Auto)Bert

  • Autoit 2 Gui erstellen und Schliessen

    • autoBert
    • 27. Januar 2010 um 17:04

    Hallo Unterbilker,

    du solltest den Spoiler in eine lesbare Form bringen (@CRLF am Zeilenende fehlt). Eine generelle Möglichkeit eine 2. Gui anzuzeigen, hat dir SEuBo im MsgLoop-Modus gepostet, hier noch eine im OnEvent-Modus:

    Spoiler anzeigen
    [autoit]

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

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

    Opt('GUIOnEventMode', 1)

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

    $cidGui1 = GUICreate('GUI 1', 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $cidGui1 gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')

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

    $cidVutton1 = GUICtrlCreateButton('&Aufruf GUI 2', 20, 20, 100, 21)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    ;verankert den Button "Afruf Gui 2" rechts und oben und fixiert die Größe
    ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
    GUICtrlSetOnEvent(-1, '_CallGui2')
    ;Beim Klicken des Buttons wird die Funktion _CallGui2 aufgerufen

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

    $cidGui2 = GUICreate('GUI 2', 500, 300, 200, 50,-1,-1,$cidGui1)
    ;erzeugt eine GUI als Child von Gui1, die zurückgebebene ID wird in der Variablen $cidGui2 gespeichert
    GUISetOnEvent($GUI_EVENT_CLOSE, '_BackToGui1')

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

    $cidButton2 = GUICtrlCreateButton('&Zurück zu GUI 1', 20, 20, 100, 21)
    GUICtrlSetOnEvent(-1, '_BackToGui1')
    ;Beim Klicken des Buttons wird die Funktion _BackToGui1 aufgerufen

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

    GUISetState(@SW_SHOW, $cidGui1)

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _end()
    GUIDelete($cidGui2)
    GUIDelete($cidGui1)
    Exit
    EndFunc

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

    Func _CallGui2()
    GUISetState(@SW_DISABLE, $cidGui1)
    GUISetState(@SW_SHOW, $cidGui2)
    EndFunc

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

    Func _BackToGui1()
    GUISetState(@SW_ENABLE, $cidGui1)
    GUISetState(@SW_HIDE, $cidGui2)
    EndFunc

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

    mfg (Auto)Bert

  • Firefox Tabs aktualisieren

    • autoBert
    • 27. Januar 2010 um 16:23

    Hallo DumdiDum,

    bei aufruf des folgenden Skriptes sollten alle Tbs altualisiert werden:

    Spoiler anzeigen
    [autoit]

    ;http://www.autoit.de/index.php?page…6630#post126630 Stilgar
    #include <Array.au3>
    #include <FF.au3>

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

    Main()

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

    Func Main()
    If _FFConnect() Then
    Local $iTabs = _FFGetLength("tabs")
    Local $aURLs[$iTabs]
    For $i = 0 To $iTabs -1
    _FFAction("reload")
    ;$aURLs[$i] = _FFCmd("gBrowser.getBrowserAtIndex(" & $i & ").contentDocument.location.href")
    Next

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

    ;_ArrayDisplay($aURLs)
    EndIf

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

    EndFunc

    [/autoit]

    teste die Funktion und registriere sie bei Erfolg mit AdLibRegister,

    mfg (Auto)Bert

  • Eintrag im ListView durch nutzer editieren lassen. - wie geht das ?

    • autoBert
    • 27. Januar 2010 um 15:28

    Hallo WhiteLion,

    Zitat von WhiteLion

    wie siehts denn mit doppelklick auf eine tabellenzeile aus?

    du registrierst dir deine eigene Notify-Funktion mit

    [autoit]

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    [/autoit]

    üblicherweise vor der getmsg-Schleife
    die Funktion nach der Schleife

    [autoit]

    Func WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $hListView And $code = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
    IF _GUICtrlListView_GetItemSelected($hListView, $i) Then
    ;hier die gewünschten Funktionlität einbauen
    EndIf
    Next
    Endif
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
    Zitat von WhiteLion

    mb the way. wie lege ich eigentlich mit (?) GUICtrlListView_SetItem die position fest ... also zeile und spalte ?


    mit den optionalen Parametern $iIndex und $iSubItem

    [autoit]

    _GUICtrlListView_SetItem($hWnd, $sText[, $iIndex = 0[, $iSubItem = 0[, $iImage = -1[, $iParam = -1[, $iIndent = -1]]]]]))

    [/autoit]

    mfg (Auto)Bert

    P(r)ost: 1166

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™