guten tag,
gibt es eine Möglichkeit in autoit formen wie z.B ein Viereck oder ein Dreieck oder sowas zu erkennen?
guten tag,
gibt es eine Möglichkeit in autoit formen wie z.B ein Viereck oder ein Dreieck oder sowas zu erkennen?
Kennst du dafür ein gutes tutorial? weil wen ich in dem Run Befehl $STDOUT_CHILD rein setze dann geht die cmd kurz auf und gleich wieder zu ohne irgend was zu machen.
wen ich das so schreibe beendet sich die cmd immer sofort
$iPID = Run(@ComSpec, "", @SW_SHOW, $STDOUT_CHILD)
EDIT:
Ok habe es jetzt soweit geschafft das er mir die Ausgabe bei SciTE unten in der Console schreibt, habe um zu schauen ob er bis zum Schluss wartet mal ein Download gestartet, aber da beendet er das Programm nach ein paar Sekunden und immer wenn er die 7 Zeile in der Console schreibt.
#AutoIt3Wrapper_Change2CUI=y
#include <WinAPIConv.au3>
#include <Constants.au3>
Opt("MustDeclareVars", 1)
Local $vData
Local $iPID = Run(@ComSpec, @ScriptDir, @SW_HIDE, $STDIN_CHILD+$STDOUT_CHILD)
ProcessWait($iPID)
StdinWrite ($iPID, "curl https://de.download.nvidia.com/Windows/511.65/511.65-desktop-win10-win11-64bit-international-dch-whql.exe -O Nvidia.exe" & @CRLF)
StdinWrite ($iPID, "dir" & @CRLF)
Func ReadStream ($iPID)
Local $vData, $sStream
Do
Sleep (300)
$vData = StdoutRead($iPID)
If @error Then
StdioClose($iPID)
ProcessClose($iPID)
Exit ConsoleWrite("[ERROR]" & @error & " / " & @extended & @CRLF)
EndIf
ConsoleWrite($vData & @CRLF)
$sStream &= $vData
Until $vData = ""
Return _WinAPI_OemToChar ($sStream)
EndFunc
Alles anzeigen
Und mir ist aufgefallen das die CMD im Hintergrund noch weiter downloadet aber das Autoit Programm beendet sich
das hier wäre natürlich besser aber da habe ich das Problem das er den Text nicht ordentlich in den Edit schreibt und das ich danach kein 2 Befehl ausführen kann
und gut wäre es wenn er bei _exit die $iPID auch gleich mit schließen würde
#include <Constants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
Dim $hWin = GUICreate("CMD", 400, 200)
Dim $hEdit = GUICtrlCreateEdit("", 5, 5, 390, 190)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUISetState(@SW_SHOW)
_CMD("curl https://de.download.nvidia.com/Windows/511.65/511.65-desktop-win10-win11-64bit-international-dch-whql.exe -O Nvidia.exe")
While True
Sleep(1000)
WEnd
Func _Exit()
GUIDelete($hWin)
Exit
EndFunc
Func _CMD($Target)
Global $iPID = Run(@ComSpec, "" , @SW_HIDE ,$STDIN_CHILD + $STDERR_MERGED + $STDOUT_CHILD)
StdinWrite ($iPID, $Target & @CRLF)
Local $sCmdOutput= "", $LastCmdOutput = ""
While True
$sCmdOutput &= StdoutRead($iPID)
If @error Then ExitLoop
If $sCmdOutput <> $LastCmdOutput Then
GUICtrlSetData($hEdit, $sCmdOutput)
$LastCmdOutput = $sCmdOutput
EndIf
WEnd
MsgBox(0, Default, $LastCmdOutput)
GUICtrlSetData($hEdit, $sCmdOutput)
;MsgBox(0, Default, $sCmdOutput)
EndFunc
Alles anzeigen
Ich wollte die adb (android debug bridge) ansteuern und ein paar befehle hinter einander ausführen z.b daten von mein handy auf den Rechner ziehen usw und da wollte Ich das in der cmd übergeben so das ich die console noch offen habe fals ich das Autoit Programm pausieren und eigene Befehle eingeben kann.
Und wenn ich die Befehle mit consolesend übergebe muss ich immer ein sleep zwischen die Befehle machen, mir wäre es aber lieber das das autoit program solange wartet bis ein Befehl fertig ist und dann den nächsten ausführt
Guten Abend,
Habe folgendes Problem, ich möchte das dass Programm ein cmd Fenster öffnet und da drin Befehle schreibt das habe ich soweit alles hinbekommen mit $Pid = run usw und die Befehle führe ich mit Controlsend aus aber mein Problem ist das ich da die ganze zeit mit sleep arbeiten muss weil das autoit Programm nicht wartet bis der Befehle fertig aus geführt ist nun meine frage:
Wie kann ich das am besten bewerkstelligen das gewartet wird das ein Befehl ausgeführt wird und dann der nächste erst ausgeführt wird
Guten Abend,
Ich bin noch recht neu in Sachen AutoIT, und bräuchte da mal ein Denkanstoß, wie ich ein Formularfeld, in dem ein Text steht, auslesen kann und in ein String speichern kann.
Hier ist der HTML-Code, der ausgelesen werden müsste:
<input type="email" class="whsOnd zHQkBf" jsname="YPqjbf" autocomplete="username" spellcheck="false" tabindex="0" aria-label="Nutzername" name="Username" autocapitalize="none" id="username" dir="ltr" data-initial-dir="ltr" data-initial-value=">>>>Diesen Inhalt möchte ich in einen String speichern<<<<" badinput="false">