Weitere Eingaben an die DosBox schicken sollte mit $STDIN_CHILD und StdinWrite gehen!
Um den Text direkt in der GUI auszugeben, brauchst Du nur ein Label mit der entsprechenden Größe zu definieren und dann den Text mit GUICtrlSet hineinzuschreiben!
Weitere Eingaben an die DosBox schicken sollte mit $STDIN_CHILD und StdinWrite gehen!
Um den Text direkt in der GUI auszugeben, brauchst Du nur ein Label mit der entsprechenden Größe zu definieren und dann den Text mit GUICtrlSet hineinzuschreiben!
Hallo,
was willst Du jetzt genau wissen?
Hallo,
zum Verbinden von Zeichenketten wird in AutoIt das &-Zeichen (s. Hilfe) verwendet.
[autoit]$gurl = $http & $benutzer & ":" & $passwort & "@" & $routerip
[/autoit]Hallo,
hast Du dir schon mal die Befehle BinaryLen und BinaryMid angeschaut?!
Hallo,
der RunAsSet Befehl hat nur Auswirkung auf den Run-Befehl, d.h. der Run-Befehl wird zwar unter Adminrechten ausgeführt aber da danach wieder mit den normalen Rechten weitergearbeitet wird wir wohl der Zugriff auf $STDERR_CHILD und $STDOUT_CHILD fehlschlagen.
probiers mal so:
[autoit]#include <constants.au3>
[/autoit][autoit][/autoit][autoit]If Not IsAdmin() Then
RunAsSet("User",@Computername,"Pass")
Run(@ScriptFullPath, @ScriptDir, @SW_HIDE)
RunAsSet()
Exit
EndIf
$a = Run(@ComSpec & ' /c ipconfig /all | find "20.23.22"', "", @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
$bool="0"
While 1
$b = StdoutRead($a)
If @error Then
if $bool = "0" then msgbox(0,"Fehler","Keine Verbindung zur mobilen Einwahlinfrastruktur")
ExitLoop
endif
$bool=MsgBox(0, @ComputerName, $b)
Wend
$b = StdoutRead($a)
$bool=MsgBox(0, @ComputerName, $b)
Die If-Anweisung am Anfang sorgt dafür das das komplette Script nochmal mit Adminrechten gestartet wird wenn es von einem normalen Benutzer ausgeführt wird!
Für das bedienen mit IE.au3 gibt es keine Pauschallösung, dass ist immer auch abhängig von der zu bedienenden Seite. Such mal hier im Forum nach IE.au3 da findest Du massenhaft beispiele.
Wenn Du mit STOP den Stop-Button vom IE meinst das geht über _IEAction!
Hallo und :willkommen:,
controlclick funktioniert bei Webseiten nicht, dafür musst Du dich der _IE...-Funktionen aus der IE.au3 bedienen.
Hallo,
informationen zu den verschiedenen Tag-Versionen findest Du bei wikipedia.
Das lesen und schreiben sollte mit FileRead und FileWrite im binär-Modus kein Problem sein!
Hallo,
mir fällt zwar im moment keine Situation ein in der ich eine AnyKey-Funktion unter Windows benötige, aber bitteschön:
[autoit]#include <Misc.au3>
[/autoit][autoit][/autoit][autoit]WaitAnyKey()
[/autoit][autoit][/autoit][autoit]Func WaitAnyKey()
While 1
For $i = 0 To 255
If _IsPressed(Hex($i,2)) Then
; ConsoleWrite("Taste " & Hex($i,2) & " gedrückt!" & @CRLF)
ExitLoop 2
EndIf
Next
Sleep(50)
WEnd
EndFunc
Hallo,
schon mal was von Rekursion gehört, dass was Du da programmiert hast ist eine Endlos-Rekursion.
Hallo,
die Funktion würde ich in etwa so schreiben:
[autoit]Func DelErrorFile($FileName)
For $I=1 To 4
FileDelete('C:\TEMP\ERRORS\E' & $I &'\' & $FileName)
Next
EndFunc
und dann an entsprechender Stelle so aufrufen:
[autoit]DelErrorFile("FEHLER.TXT")
[/autoit][autoit]DelErrorFile("FEHLER-NEU.TXT")
[/autoit][autoit]DelErrorFile("FEHLER-GANZ-NEU.TXT")
[/autoit]Hallo,
einfach die beiden Funktionen _INetSmtpMailAuth und Base64Encoding in deinen Quellcode kopieren und die Datei INet.au3 includen!
Dann ist die Include-Anweisung korrekt! Was steht den in der Fehlermeldung?
Das es Unterverzeichnisse sind ist mir schon klar, aber sind es Unterverzeichnisse im aktuellen Script-Verzeichnis oder im Include-Verzeichnis?
Hallo,
die If-Anweisung muss so aussehen:
[autoit]If @HOUR = GUICtrlRead($id_input4) and @MIN = GUICtrlRead($id_input6) Then
[/autoit]Hallo,
ist admin\xxx ein Unterverzeichnis im aktuellen Script-Verzeichnis?
Das könnte man z.B. so machen, mit $nMaxZeilen gibt man an wieviel Zeilen in jedem Teil stehen sollen:
[autoit]#include <File.au3>
[/autoit][autoit][/autoit][autoit]Const $nMaxZeilen = 100 ; Maximale Anzahl Zeilen je Teil
[/autoit][autoit][/autoit][autoit]$szFilename = "out.txt"
[/autoit][autoit][/autoit][autoit]$cLines = _FileCountLines($szFileName)
[/autoit][autoit][/autoit][autoit]If $cLines > 0 Then
$nTeile = Round($cLines / 100) ; Anzahl der Teile berechnen
Dim $aszParam[$nTeile]
; erst mal Anzahl Teile - 1 lesen
For $index = 0 To $nTeile - 2
$aszParam[$index] = FileReadLine($szFileName,$index*$nMaxZeilen+1) & ".." & FileReadLine($szFileName,($index+1)*$nMaxZeilen)
Next
; und jetzt den letzten Teil lesen
$aszParam[$nTeile-1] = FileReadLine($szFileName,($nTeile-1)*$nMaxZeilen+1) & ".." & FileReadLine($szFileName,$cLines)
$szOutput = ""
For $index = 0 To $nTeile-1
$szOutput &= $index+1 & ". Teil: " & $aszParam[$index] & @CRLF
Next
MsgBox(0, "", $szOutput)
EndIf
Hallo,
ich habe eben noch eine Fehlerkorrektur am Script vorgenommen (s.o.), dass sollte das Problem lösen.
Edit:
ich habe mal eine Version geschrieben die etwas flexibler ist, bei $nTeile kannst Du eingeben in wieviele Teile die Datei zerlegt werden soll:
[autoit]#include <File.au3>
[/autoit][autoit][/autoit][autoit]Const $nTeile = 20
[/autoit][autoit][/autoit][autoit]$szFilename = "out.txt"
[/autoit][autoit][/autoit][autoit]Dim $aszParam[$nTeile]
[/autoit][autoit][/autoit][autoit]$cLines = _FileCountLines($szFileName)
[/autoit][autoit][/autoit][autoit]If $cLines > 0 Then
[/autoit][autoit][/autoit][autoit]$cReadLines = Round($cLines/$nTeile)
[/autoit][autoit][/autoit][autoit]; erst mal 19 Teile lesen
For $index = 0 To $nTeile - 2
$aszParam[$index] = FileReadLine($szFileName,$index*$cReadLines+1) & ".." & FileReadLine($szFileName,($index+1)*$cReadLines)
Next
; und jetzt den letzten Teil
$aszParam[$nTeile-1] = FileReadLine($szFileName,($nTeile-1)*$cReadLines+1) & ".." & FileReadLine($szFileName,$cLines)
$szOutput = ""
For $index = 0 To $nTeile-1
$szOutput &= $index+1 & ". Teil: " & $aszParam[$index] & @CRLF
Next
MsgBox(0, "", $szOutput)
EndIf
Hallo,
Probier mal das (ungetestet):
[autoit]Dim $aszParam[20]
[/autoit][autoit][/autoit][autoit]$cLines = _FileCountLines($szFileName)
[/autoit][autoit][/autoit][autoit]If $cLines > 0 Then
[/autoit][autoit][/autoit][autoit]$cReadLines = Round($cLines/20)
[/autoit][autoit][/autoit][autoit]; erst mal 19 Teile lesen
For $index = 0 To 18
$aszParam[$index] = FileReadLine($szFileName,$index*$cReadLines+1) & ".." & FileReadLine($szFileName,$index*$cReadLines+$cReadLines)
Next
; und jetzt den letzten Teil
$aszParam[19] = FileReadLine($szFileName,19*$cReadLines+1) & ".." & FileReadLine($szFileName,$cLines)
$szOutput = ""
For $index = 0 To 19
$szOutput &= $index+1 & ". Teil: " & $aszParam[$index] & @CRLF
Next
MsgBox(0, "", $szOutput)
EndIf
Edit: Da hat sich der Fehlerteufel eingeschlieschen -> korrigiert!
Hallo,
schreib doch einfach mit AutoIt eine Programm das MSIEXEC mit der erzeugten MSI-Datei aufruft.