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

Beiträge von Eistee

  • Windows 10 und WinWaitActive

    • Eistee
    • 16. Mai 2016 um 14:41

    Script kann ich gerne nach reichen ^^ wie gesagt als ich das Programm im Januar schrieb funktionierte alles, das hier ist sogar noch das Origial Script welches ich in der Form auf arbeit auch verwende,
    jetzt startet es noch die WordFile und dann passiert nüscht mehr

    Spoiler anzeigen
    AutoIt
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <SendMessage.au3>
    #include <StructureConstants.au3>
    #Include <WinAPI.au3>
    #include <Date.au3>
    
    
    If $CMDLINE[0] = 2 Then
    Global $data = $CMDLINE[1]
    Global $path = StringRegExpReplace($CMDLINE[2], "[?]", " ")
    Else
    	MsgBox(0,"", "CMD")
    Exit
    EndIf
    
    
    Global $fret = StringSplit(StringRegExpReplace($data, "[?]", " "), ";")
    Global $DocArt
    Global $Counter = 0
    Global $Safety = 1
    
    
    If $fret[1] <> "Payango" Then
    	If $fret[1] <> "insidecard" Then
    		If $fret[1] <> "Cristalcard" Then
    			MsgBox(0,"", "Whitelabel")
    		Exit
    		EndIf
    	EndIf
    EndIf
    
    
    If $fret[2] <> "Herr" Then
    	If $fret[2] <> "Frau" Then
    		MsgBox(0,"", "Geschlecht")
    	Exit
    	EndIf
    EndIf
    
    
    $WhiteLabelFinal = $fret[1]
    $GenderFinal = $fret[2]
    $VorNameFinal = $fret[3]
    $NachNameFinal = $fret[4]
    $StrasseFinal = $fret[5]
    $PLZundOrtFinal = $fret[6]
    $VerwendungsZweckFinal = $fret[7]
    $AmountFinal = $fret[8]
    
    
    If $WhiteLabelFinal = "Payango" Then
    	$DocArt = "Payango"
    ElseIf $WhiteLabelFinal = "insidecard" Then
    	$DocArt = "Inside"
    ElseIf $WhiteLabelFinal = "Cristalcard" Then
    	$DocArt = "Cristal"
    EndIf
    
    
    ShellExecute($DocArt & "BE.docx")
    Sleep(10000)
    WinWaitActive($DocArt & "BE - Word")
    
    
    Sleep(200)
    Send("^h")
    WinWaitActive("Suchen und Ersetzen")
    
    
    Sleep(20)
    
    
    Send("!e")
    Sleep(50)
    Send("!k")
    Sleep(20)
    Send("!n")
    
    
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("XXXX")
    Send("!d")
    Send($VorNameFinal)
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    
    
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("IIII")
    Send("!d")
    Send($NachNameFinal)
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    
    
    $Gender1 = $GenderFinal
    If $Gender1 = "Herr" Then
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("JJJJ")
    Send("!d")
    Send("geehrter Herr")
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    ElseIf $Gender1 = "Frau" Then
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("JJJJ")
    Send("!d")
    Send("geehrte Frau")
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    EndIf
    
    
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("KKKK")
    Send("!d")
    Send($StrasseFinal)
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    
    
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("LLLL")
    Send("!d")
    Send($PLZundOrtFinal)
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    
    
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("GGGGGGGGGGGGGG")
    Send("!d")
    Send($VerwendungsZweckFinal)
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    
    
    Sleep(50)
    Send("!h")
    Sleep(50)
    Send("MMMM")
    Send("!d")
    Send($AmountFinal)
    Send("!a")
    WinWaitActive("Microsoft Word")
    Sleep(25)
    Send("{Enter}")
    WinWaitClose("Microsoft Word")
    
    
    Sleep(50)
    Send("{Esc}")
    WinWaitClose("Suchen und Ersetzen")
    Sleep(40)
    Send("{F12}")
    
    
    WinWaitActive("Speichern unter")
    
    
    Sleep(50)
    
    
    $Gender2 = $GenderFinal
    
    
    If $Gender2 = "Herr" Then
    	$GenderShort = "Hr. "
    ElseIf $Gender2 = "Frau" Then
    	$GenderShort = "Fr. "
    EndIf
    
    
    Send($path & "\" & $DocArt & "-" & $GenderShort & $VorNameFinal & " " & StringRegExpReplace($NachNameFinal, "[/]", "") & " - " & " - BE")
    Sleep(50)
    Send("{Enter}")
    WinWaitClose("Speichern unter")
    Sleep(200)
    Send("!{F4}")
    WinWaitClose($DocArt & "-" & $GenderShort  & $VorNameFinal & " " & StringRegExpReplace($NachNameFinal, "[/]", "") & " - " & " - BE - Word")
    Sleep(220)
    
    
    Exit
    Alles anzeigen

    Das Script wird mit Parametern gestartet, wie gesagt das funktioniert einwandfrei, ers startet auch definitiv die Richtige Word Datei, jedoch wartet er sich danach zu tode, als könnte er nicht mehr auslesen das das Programm offfen ist...


    Edit : Gelöst !! wenn man die Dateiendungen bei den Files mit anzeigen lääst, ändert sich dieses Detail auch im Titel von Word.... läuft also wieder ^^ Danke an alle =)

  • Windows 10 und WinWaitActive

    • Eistee
    • 16. Mai 2016 um 02:31

    Hallo an alle,

    ich wollte mal fragen ob im Oben erwähnten zusammenhang neuerdings Probleme bekannt sind,
    ich habe mir vor Monaten eine Programm für die Arbeit geschrieben, bisher hat alles einwandfrei funktioniert (in der Arbeit Win7)
    jetzt wollte ich das Programm neu gestalten, und muss leider feststellen das das Programm sich "zu tode" wartet obwohl das besagte Fenster vorhanden ist...

    ist hierbei eine neuerung bekannt ? Funktioniert es beu euch noch ?

    Liebe Grüße

  • Visual Basic und AutoIT

    • Eistee
    • 10. Januar 2016 um 00:32

    Hey Roger, cool mit den Infos hab ichs zum laufen bekommen Super !! Danke dir =)

  • Visual Basic und AutoIT

    • Eistee
    • 7. Januar 2016 um 21:19

    ja die Thread.sleep methode ist mir bekannt, allerdings wartet da absolut alles auch timer usw. laufen nicht weiter, es ist ein "krasserer" sleep nich so komfortabel wie die autoit version

  • Visual Basic und AutoIT

    • Eistee
    • 7. Januar 2016 um 13:03

    Nein es geht in diesem Fall nicht um VBA sondern VB.net, benutzen möchte ich es vor allem weil die GUI´s wesentlich besser zu designen sind(Andere schriftfarbe bei Checkboxen, png. bilder über Buttons usw.), im Vergleich zu VB.net Form Designer ist Koda mal das letzte ^^ aber ja meines wissens nach werden COM Objekte unterstützt, wie man das allerdings machen kann weiss ich leider auch nicht, aber ja dann werd ich es wohl irgendwie über eine Datei zwischen Speichern müssen
    Danke schon mal für deine Antwort =)

    Man kann z.B. dll´s einbinden, habe ich auch gemacht mit der AutoItX3.dll einige Autoit Befehle kann man damit sogar übernehemn, z.B. winwaitactive, die wichtigen sachen jedoch wie winwaitclose oder gar einfache Sleep Befehle jedoch nicht :P

  • Visual Basic und AutoIT

    • Eistee
    • 7. Januar 2016 um 12:41

    Hallo an alle,

    ich habe da mal ein prinzipielle Frage die Beide Sprachen mit einschließt, ist es möglich per VB eine andere .exe ( in dem fall einen AutoitSript ) mit parametern zu starten, so das die Au3 beim start alles bekommt was ich in VB an daten habe.

    Hintergrund ist folgender, ich habe mir ein autoit Programm geschrieben welches mir einige Arbeit in WORD abnimmt, über einfache send befehle wird in word die Ersetzen Maske aufgerufen und bestimmte Platzhalter ersetzt. Das selbe Programm wollte ich nun (Da es mir von den Optischen GUI möglichkeiten weit besser gefällt) in VB nachbauern, nun stellt sich heraus das VB solch einfache Sachen wie winwaitActive oder winwaitclose nicht beherrscht weshalb ich die Funktion nun mit einem AU3 Script ausführen lassen möchte und nur alle anderen Funktionen in VB belassen möchte.

    Fällt dazu jemandem was ein ?

    MfG Eistee

  • Kontextmenü funktioniert nicht / nicht mit allen Buttons

    • Eistee
    • 29. Dezember 2015 um 23:12

    Wow, ja so gehts :P aber jetzt wählt er den $button3 als button2, also immer 1 links 2 rechts usw. kann man das noch anpassen oder muss ich die Button variablen umbenennen am besten ?


    @ Raupi : $Button1CItem = GUICtrlCreateMenuitem("Sound wählen", $Button29Context) Ahh da war ich unaufmerksam =) Daaanke vielmals So gehts auch mit der übersichtlicheren Methode ;)

    Vielen Dank an euch beide =)

  • Kontextmenü funktioniert nicht / nicht mit allen Buttons

    • Eistee
    • 29. Dezember 2015 um 22:31

    Hallo an alle, ich hab mal wieder ein mehr oder weniger kleines Problemchen mit folgendem Script :

    Spoiler anzeigen
    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Clipboard.au3>
    #include <SendMessage.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <GuiEdit.au3>
    #Include <WinAPI.au3>
    #include <ScrollBarsConstants.au3>
    #include <SliderConstants.au3>
    
    
    #Region BS Variables
    Global $BS1
    Global $BS2
    Global $BS3
    Global $BS4
    Global $BS5
    Global $BS6
    Global $BS7
    Global $BS8
    Global $BS9
    Global $BS10
    Global $BS11
    Global $BS12
    Global $BS13
    Global $BS14
    Global $BS15
    Global $BS16
    Global $BS17
    Global $BS18
    Global $BS19
    Global $BS20
    Global $BS21
    Global $BS22
    Global $BS23
    Global $BS24
    Global $BS25
    Global $BS26
    Global $BS27
    Global $BS28
    Global $BS29
    Global $BS30
    #EndRegion
    
    
    Global $NSound = 1
    
    
    
    
    $Form1 = GUICreate("Sounds", 442, 453, -1, -1)
    
    
    $Group1 = GUICtrlCreateGroup("", 4, 4, 265, 443)
    
    
    
    
    $Button1 = GUICtrlCreateButton("Sound Wählen", 8, 22, 125, 25)
    $Button1Context = GUICtrlCreateContextMenu($Button1)
    $Button1CItem = GUICtrlCreateMenuitem("Sound 1 wählen", $Button1Context)
    
    
    
    
    $Button2 = GUICtrlCreateButton("Sound Wählen", 8, 50, 125, 25)
    $Button2Context = GUICtrlCreateContextMenu($Button2)
    $Button2CItem = GUICtrlCreateMenuitem("Sound wählen", $Button2Context)
    
    
    $Button3 = GUICtrlCreateButton("Sound Wählen", 8, 78, 125, 25)
    $Button3Context = GUICtrlCreateContextMenu($Button3)
    $Button3CItem = GUICtrlCreateMenuitem("Sound wählen", $Button3Context)
    
    
    $Button4 = GUICtrlCreateButton("Sound Wählen", 8, 106, 125, 25)
    $Button4Context = GUICtrlCreateContextMenu($Button4)
    $Button4CItem = GUICtrlCreateMenuitem("Sound wählen", $Button4Context)
    
    
    $Button5 = GUICtrlCreateButton("Sound Wählen", 8, 134, 125, 25)
    $Button5Context = GUICtrlCreateContextMenu($Button5)
    $Button5CItem = GUICtrlCreateMenuitem("Sound wählen", $Button5Context)
    
    
    $Button6 = GUICtrlCreateButton("Sound Wählen", 8, 162, 125, 25)
    $Button6Context = GUICtrlCreateContextMenu($Button6)
    $Button6CItem = GUICtrlCreateMenuitem("Sound wählen", $Button6Context)
    
    
    $Button7 = GUICtrlCreateButton("Sound Wählen", 8, 190, 125, 25)
    $Button7Context = GUICtrlCreateContextMenu($Button7)
    $Button7CItem = GUICtrlCreateMenuitem("Sound wählen", $Button7Context)
    
    
    $Button8 = GUICtrlCreateButton("Sound Wählen", 8, 218, 125, 25)
    $Button8Context = GUICtrlCreateContextMenu($Button8)
    $Button8CItem = GUICtrlCreateMenuitem("Sound wählen", $Button8Context)
    
    
    $Button9 = GUICtrlCreateButton("Sound Wählen", 8, 246, 125, 25)
    $Button9Context = GUICtrlCreateContextMenu($Button9)
    $Button9CItem = GUICtrlCreateMenuitem("Sound wählen", $Button9Context)
    
    
    $Button10 = GUICtrlCreateButton("Sound Wählen", 8, 274, 125, 25)
    $Button10Context = GUICtrlCreateContextMenu($Button10)
    $Button10CItem = GUICtrlCreateMenuitem("Sound wählen", $Button10Context)
    
    
    $Button11 = GUICtrlCreateButton("Sound Wählen", 8, 302, 125, 25)
    $Button11Context = GUICtrlCreateContextMenu($Button11)
    $Button11CItem = GUICtrlCreateMenuitem("Sound wählen", $Button11Context)
    
    
    $Button12 = GUICtrlCreateButton("Sound Wählen", 8, 330, 125, 25)
    $Button12Context = GUICtrlCreateContextMenu($Button12)
    $Button12CItem = GUICtrlCreateMenuitem("Sound wählen", $Button12Context)
    
    
    $Button13 = GUICtrlCreateButton("Sound Wählen", 8, 358, 125, 25)
    $Button13Context = GUICtrlCreateContextMenu($Button13)
    $Button13CItem = GUICtrlCreateMenuitem("Sound wählen", $Button13Context)
    
    
    $Button14 = GUICtrlCreateButton("Sound Wählen", 8, 386, 125, 25)
    $Button14Context = GUICtrlCreateContextMenu($Button14)
    $Button14CItem = GUICtrlCreateMenuitem("Sound wählen", $Button14Context)
    
    
    $Button15 = GUICtrlCreateButton("Sound Wählen", 8, 414, 125, 25)
    $Button15Context = GUICtrlCreateContextMenu($Button15)
    $Button15CItem = GUICtrlCreateMenuitem("Sound wählen", $Button15Context)
    
    
    $Button16 = GUICtrlCreateButton("Sound Wählen", 135, 22, 125, 25)
    $Button16Context = GUICtrlCreateContextMenu($Button16)
    $Button16CItem = GUICtrlCreateMenuitem("Sound wählen", $Button16Context)
    
    
    $Button17 = GUICtrlCreateButton("Sound Wählen", 135, 50, 125, 25)
    $Button17Context = GUICtrlCreateContextMenu($Button17)
    $Button17CItem = GUICtrlCreateMenuitem("Sound wählen", $Button17Context)
    
    
    $Button18 = GUICtrlCreateButton("Sound Wählen", 135, 78, 125, 25)
    $Button18Context = GUICtrlCreateContextMenu($Button18)
    $Button18CItem = GUICtrlCreateMenuitem("Sound wählen", $Button18Context)
    
    
    $Button19 = GUICtrlCreateButton("Sound Wählen", 135, 106, 125, 25)
    $Button19Context = GUICtrlCreateContextMenu($Button19)
    $Button19CItem = GUICtrlCreateMenuitem("Sound wählen", $Button19Context)
    
    
    $Button20 = GUICtrlCreateButton("Sound Wählen", 135, 134, 125, 25)
    $Button20Context = GUICtrlCreateContextMenu($Button20)
    $Button20CItem = GUICtrlCreateMenuitem("Sound wählen", $Button20Context)
    
    
    $Button21 = GUICtrlCreateButton("Sound Wählen", 135, 162, 125, 25)
    $Button21Context = GUICtrlCreateContextMenu($Button21)
    $Button21CItem = GUICtrlCreateMenuitem("Sound wählen", $Button21Context)
    
    
    $Button22 = GUICtrlCreateButton("Sound Wählen", 135, 190, 125, 25)
    $Button22Context = GUICtrlCreateContextMenu($Button22)
    $Button22CItem = GUICtrlCreateMenuitem("Sound wählen", $Button22Context)
    
    
    $Button23 = GUICtrlCreateButton("Sound Wählen", 135, 218, 125, 25)
    $Button23Context = GUICtrlCreateContextMenu($Button23)
    $Button23CItem = GUICtrlCreateMenuitem("Sound wählen", $Button23Context)
    
    
    $Button24 = GUICtrlCreateButton("Sound Wählen", 135, 246, 125, 25)
    $Button24Context = GUICtrlCreateContextMenu($Button24)
    $Button24CItem = GUICtrlCreateMenuitem("Sound wählen", $Button24Context)
    
    
    $Button25 = GUICtrlCreateButton("Sound Wählen", 135, 274, 125, 25)
    $Button25Context = GUICtrlCreateContextMenu($Button25)
    $Button25CItem = GUICtrlCreateMenuitem("Sound wählen", $Button25Context)
    
    
    $Button26 = GUICtrlCreateButton("Sound Wählen", 135, 302, 125, 25)
    $Button26Context = GUICtrlCreateContextMenu($Button26)
    $Button26CItem = GUICtrlCreateMenuitem("Sound wählen", $Button26Context)
    
    
    $Button27 = GUICtrlCreateButton("Sound Wählen", 135, 330, 125, 25)
    $Button27Context = GUICtrlCreateContextMenu($Button27)
    $Button27CItem = GUICtrlCreateMenuitem("Sound wählen", $Button27Context)
    
    
    $Button28 = GUICtrlCreateButton("Sound Wählen", 135, 358, 125, 25)
    $Button28Context = GUICtrlCreateContextMenu($Button28)
    $Button28CItem = GUICtrlCreateMenuitem("Sound wählen", $Button28Context)
    
    
    $Button29 = GUICtrlCreateButton("Sound Wählen", 135, 386, 125, 25)
    $Button29Context = GUICtrlCreateContextMenu($Button29)
    $Button1CItem = GUICtrlCreateMenuitem("Sound wählen", $Button29Context)
    
    
    $Button30 = GUICtrlCreateButton("Sound Wählen", 135, 414, 125, 25)
    $Button30Context = GUICtrlCreateContextMenu($Button30)
    $Button30CItem = GUICtrlCreateMenuitem("Sound wählen", $Button30Context)
    
    
    
    
    $Group2 = GUICtrlCreateGroup("", 270, 116, 167, 135)
    
    
    $Slider1 = GUICtrlCreateSlider(280, 132, 150, 35)
    $Label1 = GUICtrlCreateLabel("Volume : ", 316, 171, 48, 17)
    $Label2 = GUICtrlCreateLabel("100 %", 365, 171, 33, 17)
    $Button31 = GUICtrlCreateButton("How To", 316, 188, 75, 25)
    
    
    
    
    $Checkbox1 = GUICtrlCreateCheckbox("Sound", 302, 224, 97, 17)
    GUICtrlSetState ( $Checkbox1, $GUI_CHECKED)
    $Button32 = GUICtrlCreateButton("Open Youtube", 276, 252, 159, 25)
    
    
    GUISetState(@SW_SHOW, $Form1)
    
    
    
    
    #Region
    $FormCSB1 = GUICreate(" ", 191, 81, -1, -1)
    $LabelCSB1 = GUICtrlCreateLabel("Sound von Button 1", 46, 4, 99, 17)
    $InputCSB1 = GUICtrlCreateInput("Bitte MP3 auswählen", 2, 26, 147, 21)
    $ButtonSoundCSB1 = GUICtrlCreateButton("...", 152, 24, 31, 25)
    $ButtonCSB1 = GUICtrlCreateButton("Bestätigen", 58, 54, 75, 25)
    GUISetState(@SW_HIDE, $FormCSB1)
    #EndRegion
    
    
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $Button1CItem
    			_Test ()
    
    
    		Case $Button32
    			_Youtube ()
    		Case $Checkbox1
    		If _IsChecked($Checkbox1) Then
    			;checked
    		Else
    			;not
    		EndIf
    	EndSwitch
    WEnd
    
    
    
    
    Func _Test ()
    	MsgBox(0,"","")
    	;GUISetState(@SW_Show, $FormCSB1)
    EndFunc
    
    
    Func _Youtube ()
    ShellExecute("http://www.youtube.de")
    EndFunc
    
    
    Func _IsChecked($idControlID)
        Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
    EndFunc
    Alles anzeigen


    Das Kontextmenü erscheint zwar bei allen Buttons, jedoch checkt das Script nicht wenn ich auf ein kontextItem klicke....

    Lösche ich jedoch alles zwischn Zeile 62 und 177 (also alle anderen Buttons) funktioniert der Kontext von Button1.

    Sieht hier jemand das Problem ?

    MfG Eistee

  • Bei $ws_ex_topmost dennoch den x Button anzeigen lassen ?

    • Eistee
    • 25. Dezember 2015 um 23:08

    Ahh ok, damit gehts =) vielen dank

  • Bei $ws_ex_topmost dennoch den x Button anzeigen lassen ?

    • Eistee
    • 25. Dezember 2015 um 20:25

    Hi an alle =)

    wie im Thread Namen schon erwähnt suche ich nach einer Möglichkeit ein "normales" Gui, Always OnTop zu halten ohne das es mir die 3 Buttons oben aus der Leiste verschwinden lässt wie es mit $ws_ex_topmost leider der Fall ist..

    Ist da denn eine Möglichkeit bekannt ?

    MfG Eistee

  • Entweder so etwas wie : ButtonGetFocus - > Funktion oder Leerer Input hat nun Text -> Funktion ?

    • Eistee
    • 25. Dezember 2015 um 11:03

    In der Funktion Copy, wird nun vor jedem Alt+Tab abgefragt, ist der untere Codeblock

  • Entweder so etwas wie : ButtonGetFocus - > Funktion oder Leerer Input hat nun Text -> Funktion ?

    • Eistee
    • 25. Dezember 2015 um 09:53

    Hallo an alle,

    Ich hab mir schon die Finger Wund gegoogelt :P aber ich finde keine Möglichkeit (bevorzugt) herauszufinden ob ein bestimmter Button gerade den Fokus hat und wenn ja soll eine Funktion ausgeführt werden, oder (alternativ) sobald In eine bestimmte
    InputBox Text eingegeben Wurde, 50 MS warten und dann eine Funktion auszuführen.

    Hintergrund, Eine Gui mit 9 InputBoxen, per strg+c werden in anderen Fenstern markierte Texte kopiert und in die nächste Inputbox übertragen (Danke an Oscar und BugFix).

    Wenn jetzt der Letzte Input befüllt ist, wechselt der Fokus (mittels send TAB) immer auf den Button - Jetzt soll eigentlich eine Funktion aufgerufen werden oder eben wenn im Letzten inputfeld Text steht.

    Hier mal das bisherige Script :

    Spoiler anzeigen
    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Clipboard.au3>
    #include <SendMessage.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <GuiEdit.au3>
    #Include <WinAPI.au3>
    
    
    Global $DocArt
    
    
    $hGui = GUICreate('ClipboardViewer')
    $hNext = _ClipBoard_SetViewer($hGui)
    
    
    GUIRegisterMsg($WM_CHANGECBCHAIN, 'WM_CHANGECBCHAIN')
    GUIRegisterMsg($WM_DRAWCLIPBOARD, 'WM_DRAWCLIPBOARD')
    
    
    #Region
    $Form1 = GUICreate("AutoWord - Anschreiben", 623, 267, -1, -1)
    GUISetBkColor(0x000000)
    
    
    $CardLabelLabel = GUICtrlCreateLabel("CardLabel :", 8, 8, 58, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $CardLabelInput = GUICtrlCreateInput("", 77, 7, 121, 20)
    
    
    $BestellDatumLabel = GUICtrlCreateLabel("Bestelldate :", 8, 32, 62, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $BestellDatumInput = GUICtrlCreateInput("", 77, 30, 121, 21)
    
    
    $GenderLabel = GUICtrlCreateLabel("Geschlecht :", 8, 56, 64, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $GenderInput = GUICtrlCreateInput("", 77, 54, 121, 21)
    
    
    $VNameLabel = GUICtrlCreateLabel("Vorname :", 8, 80, 52, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $VNameInput = GUICtrlCreateInput("", 77, 78, 121, 21)
    
    
    $NNameLabel = GUICtrlCreateLabel("Nachname :", 8, 104, 62, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $NNameInput = GUICtrlCreateInput("", 77, 102, 121, 21)
    
    
    $StrasseFinaleLabel = GUICtrlCreateLabel("Straße :", 8, 128, 41, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $StrasseFinaleInput = GUICtrlCreateInput("", 77, 126, 121, 21)
    
    
    $PlzortLabel = GUICtrlCreateLabel("PLZ-Ort :", 8, 152, 47, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $PlzortInput = GUICtrlCreateInput("", 77, 150, 121, 21)
    
    
    $VWZweckLabel = GUICtrlCreateLabel("VW-Zweck :", 8, 176, 64, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $VWZweckInput = GUICtrlCreateInput("", 77, 174, 121, 21)
    
    
    $AmountLabel = GUICtrlCreateLabel("Amount :", 8, 202, 46, 17)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $AmountInput = GUICtrlCreateInput("", 77, 200, 121, 21)
    
    
    $ButtonZurListe = GUICtrlCreateButton("Zur Liste", 123, 224, 75, 25)
    $ButtonEingabeVerwerfen = GUICtrlCreateButton("X", 77, 224, 27, 25)
    
    
    $ButtonListeLoeschen = GUICtrlCreateButton("Liste Löschen", 201, 224, 75, 25)
    
    
    $ButtonBestellAnschreiben = GUICtrlCreateButton("B-An", 480, 224, 43, 25)
    $ButtonZahlungserinnerung = GUICtrlCreateButton("ZE-An", 528, 224, 43, 25)
    $ButtonZweiteMahnung = GUICtrlCreateButton("ZM-An", 576, 224, 43, 25)
    
    
    
    
    $Liste = GUICtrlCreateEdit("", 200, 7, 419, 214)
    
    
    GUISetState(@SW_SHOW)
    #EndRegion
    
    
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			_ClipBoard_ChangeChain($hGui, $hNext)
    			Exit
    		Case $ButtonBestellAnschreiben
    			_BestellAnschreiben ()
    		Case $ButtonZurListe
    			_ZurListe ()
    		Case $ButtonListeLoeschen
    			_Listeloeschen ()
    		Case $ButtonEingabeVerwerfen
    			_InputsLoeschen ()
    	EndSwitch
    WEnd
    
    
    
    
    Func _BestellAnschreiben ()
    
    
    $lines = StringSplit(GUICtrlRead($Liste), @CRLF, 3)
    
    
    for $i = 0 to UBound($lines)-2
    
    
    $fret = StringSplit($lines[$i], ";")
    
    
    $WhiteLabelFinal = $fret[1]
    $BestellDatumFinal = $fret[2]
    $GenderFinal = $fret[3]
    $VorNameFinal = $fret[4]
    $NachNameFinal = $fret[5]
    $StrasseFinal = $fret[6]
    $PLZundOrtFinal = $fret[7]
    $VerwendungsZweckFinal = $fret[8]
    $AmountFinal = $fret[9]
    
    
    If StringInStr($AmountFinal, ".") Then
        $AmountFinal = StringRegExpReplace($AmountFinal, "[.]", ",")
    	$AmountFinal = $AmountFinal & "0"
    Else
    	$AmountFinal = $AmountFinal & ",00"
    EndIf
    
    
    If $WhiteLabelFinal = "xxxxx" Then
    	$DocArt = "xxxxx"
    ElseIf $WhiteLabelFinal = "xxcard" Then
    	$DocArt = "xx"
    ElseIf $WhiteLabelFinal = "cccccccc" Then
    	$DocArt = "Cristal"
    EndIf
    
    
    ShellExecute($DocArt & "BE.docx")
    WinWaitActive($DocArt & "BE - Word")
    
    
    Sleep(850)
    Send("^h")
    WinWaitActive("Suchen und Ersetzen")
    
    
    Send("!e")
    Sleep(100)
    Send("!k")
    Sleep(50)
    Send("!n")
    
    
    Sleep(100)
    Send("!h")
    Sleep(200)
    Send("XXXX")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($VorNameFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("IIII")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($NachNameFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    $Gender1 = $GenderFinal
    If $Gender1 = "Herr" Then
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("JJJJ")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send("geehrter")
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    ElseIf $Gender1 = "Frau" Then
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("JJJJ")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send("geehrte")
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    EndIf
    
    
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("PPPP")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($GenderFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("KKKK")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($StrasseFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("LLLL")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($PLZundOrtFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("GGGGGGGGGGGGGG")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($VerwendungsZweckFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    Sleep(200)
    Send("!h")
    Sleep(200)
    Send("MMMM")
    Sleep(100)
    Send("!d")
    Sleep(200)
    Send($AmountFinal)
    Sleep(200)
    Send("!a")
    Sleep(500)
    Send("{Enter}")
    
    
    Sleep(200)
    Send("{Esc}")
    Sleep(500)
    Send("{F12}")
    
    
    WinWaitActive("Speichern unter")
    
    
    Sleep(200)
    
    
    $Gender2 = $GenderFinal
    
    
    If $Gender2 = "Herr" Then
    	$GenderShort = "Hr. "
    ElseIf $Gender2 = "Frau" Then
    	$GenderShort = "Fr. "
    EndIf
    
    
    Send($GenderShort& $NachNameFinal & " - " & $DocArt & " - BE")
    Sleep(150)
    Send("{Enter}")
    WinWaitClose("Speichern unter")
    Sleep(150)
    Send("!{F4}")
    WinWaitClose($GenderShort& $NachNameFinal & " - " & $DocArt & " -BE - Word")
    Sleep(350)
    
    
    Next
    EndFunc
    
    
    Func _ZurListe ()
    $data = StringStripWS(GUICtrlRead($CardLabelInput), 3) & ";" & StringStripWS(GUICtrlRead($BestellDatumInput), 3) & ";" & StringStripWS(GUICtrlRead($GenderInput), 3) & ";" _
    & StringStripWS(GUICtrlRead($VNameInput), 3) & ";" & StringStripWS(GUICtrlRead($NNameInput), 3) & ";" & StringStripWS(GUICtrlRead($StrasseFinaleInput), 3) & ";" _
    & StringStripWS(GUICtrlRead($PlzortInput), 3) & ";" & StringStripWS(GUICtrlRead($VWZweckInput), 3) & ";" & StringStripWS(GUICtrlRead($AmountInput), 3)
    
    
    $olddata = GUICtrlRead($Liste)
    
    
    GUICtrlSetData($Liste, $olddata & $data & @CRlf)
    
    
    _InputsLoeschen ()
    EndFunc
    
    
    Func _Copy()
        Sleep(50)
        Send("!{tab}")
        Sleep(50)
        Send("^v")
        Sleep(50)
        Send("{tab}")
        Sleep(50)
        Send("!{tab}")
    	Sleep(50)
    	Send("{lctrl}")
    EndFunc
    
    
    Func _Listeloeschen ()
    GUICtrlSetData($Liste, "")
    EndFunc
    
    
    Func _InputsLoeschen ()
    GUICtrlSetData($CardLabelInput, "")
    GUICtrlSetData($BestellDatumInput, "")
    GUICtrlSetData($GenderInput, "")
    GUICtrlSetData($VNameInput, "")
    GUICtrlSetData($NNameInput, "")
    GUICtrlSetData($StrasseFinaleInput, "")
    GUICtrlSetData($PlzortInput, "")
    GUICtrlSetData($VWZweckInput, "")
    GUICtrlSetData($AmountInput, "")
    GUICtrlSetState($CardLabelInput, $GUI_FOCUS)
    EndFunc
    
    
    Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
    	If $iwParam = $hNext Then
    		$hNext = $ilParam
    	ElseIf $hNext <> 0 Then
    		_SendMessage($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, 'hwnd', 'hwnd')
    	EndIf
    EndFunc
    
    
    Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    	Local $sClipBoard = _ClipBoard_GetData()
    	_Copy()
    	If $hNext <> 0 Then _SendMessage($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
    EndFunc
    Alles anzeigen

    Evtl. jemand eine Idee ?

    MfG Eistee


    Ok, Habs jetzt gelöst mit :

    AutoIt
    Func _Copy()
        Sleep(50)
        Send("!{tab}")
        Sleep(50)
        Send("^v")
        Sleep(50)
        Send("{tab}")
        Sleep(50)
    	If ControlGetFocus($Form1) = "Button1" Then
    		Send("{Enter}")
    	EndIf
    	Sleep(50)
        Send("!{tab}")
    	Sleep(50)
    	Send("{lctrl}")
    EndFunc
    Alles anzeigen

    Kann mit aber nicht erklären warum ControlGetFocus in diesem Fall Button1 ausgeben muss, aber man nimmt was man kriegt und es funktioniert :P

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 21:39

    Holy Jesus, so versteh ich es ^^ hatte also wohl fälschlicherweise angenommen das ich A. die schleife bestehen lassen muss und B. die komplette GUI löschen kann.

    Danke Vielmals BugFix und Oscar =)

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 20:57

    Ja das hab ich ja bereits, und es scheint auch zu machen was es soll ^^ doch ich weiss dennoch nicht wie ich das in mein bestehenden script integrieren soll, das Problem hab ich leider meistens hier, man frägt nach einer bestimmten sache, bekommt dann aber immer derart Komplizierte Lösungen, das man lieber gleich den Umweg geht, der mag zwar dann meist nervig sein, ist aber dennoch selbsterklärend und man braucht für eine in Anführungszeichen Simple Antwort wie in diesem Falle : "Nein das was du dir vorstellst geht nicht" keine 2-3 Stunden bis man in einem der bestimmt guten aber eben zu Komplexen Lösungsvorschlägen durchsteigt.

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 20:11

    Ernsthaft, vielen vielen Dank für deinen Versuch, aber echt keinen plan wie ich das in meinen Script integrieren könnte, dann muss es halt einfach über einen anderen Hotkey laufen... das ist zwar umständlich aber A. kapier ich wie das geht und B. bleibt es näher an dem was ich erreichen wollte, also ohne 30 extra zeilen Code den ich nicht mal verstehe ^^

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 19:55

    Und was von deinem Script kann ich rauslöschen ? Egal was ich bisher versucht habe, es kommen immer nur Fehler

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 19:39

    Sorry Oscar, aber da steig ich ernsthaft nicht durch, muss ich wohl den nervigen Umweg über einen andren Hotkey gehen. Trotzdem Danke

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 19:32

    Ok, das ist mir dann doch etwas zu hoch dein Beispiel ^^
    also ist es wohl nicht möglich einfach erst zu kopieren und dann ein funktion auszuführen ?

  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • Eistee
    • 23. Dezember 2015 um 19:14

    Hallo an alle, und erstmal frohe Weihnachten :P

    ich hab da mal eine Frage bei der ich seit kurzem auf dem Schlauch stehe und mir auch Google nicht weiterhelfen konnte,

    gibt es eine Möglichkeit, wenn STRG+C als Hotkey gesetzt ist, diesen weiterzuleiten, habe das problem das ich mit :

    Spoiler anzeigen
    AutoIt
    HotKeySet("^c", "_Copy")
    
    
    Func _Copy ()
    
    
    
    
        Sleep(500)
        Send("!{tab}")
        Sleep(500)
        Send("^v")
        Sleep(500)
        Send("{tab}")
        Sleep(500)
        Send("!{tab}")
    
    
    
    
    EndFunc
    Alles anzeigen


    zwar meine Funktion aufrufe, er jedoch den markierten Text (beliebiges Fenster) nicht vorher kopiert.

    Daher die frage ob man den Kopier befehl ausführen lassen kann noch bevor die Funktion des Hotkeys ausgelöst wird.

    MfG Eistee


    p.S. Die Sleeps sind erstmal nur testweise vorhanden da das ganze auf einem extrem alten Rechner laufen wird.

  • Batch Datei / Shell(Kontextmenü) Eintrag, desktop.ini erstellen ?

    • Eistee
    • 10. September 2015 um 18:38

    wäre echt cool von dir, danke =)

    hmmm.. habs mal manuell getestet datei einfach reinkopieren geht leider nicht mal .......eise hm kann ich mir wohl leider abschminken das ganze

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™