Würde ich auch so sehen, dass WinHttp hier am besten passt.
Falls du nicht weiterkommst, schreib hier nochmal rein. Ansonsten gern abhaken.
Würde ich auch so sehen, dass WinHttp hier am besten passt.
Falls du nicht weiterkommst, schreib hier nochmal rein. Ansonsten gern abhaken.
Bei mir stürzt das Skript tatsächlich nicht ab. (64bit)
Also ich habe das Script einfach so c&p, gestartet und anschließend beendet.
Muss ich sonst etwas spezielles beachten?
Local $Variable1 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\XYZ\\XYZ Info", "ID ")
Local $Variable2
Do
$Variable2 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\XYZ\\XYZ Info", "ID ")
Sleep(250)
Until $Variable1 <> $Variable2
So könnte man die Do Schleife anwenden. Ist hier auch am besten für geeignet.
PS: Sowas sollte man eigentlich auch selbst hinkriegen können.
Hallo Code4Fun,
das Stichwort ist WinHttp. Mit dieser Funktion kann man dein Vorhaben komplett automatisieren.
Falls du WinHttp noch nicht kennst, informiere dich am besten ein wenig.
Es gibt dazu sogar Tutorials auf Youtube (auch mit Login Beispiel).
Ich bin leider momentan nicht zuhause, sonst hätte ich dir eben ein Beispiel zeigen können.
Edit:
Alternativ können auch die IE Libs benutzt werden:
https://www.autoitscript.com/autoit3/docs/l…s/_IECreate.htm
Moin ISI, hab noch n Bug gefunden:
Wenn man ISN AS 2x öffnet und anschließend Code mit strg+v einfügt, wird das Einfügen quasi verdoppelt.
Also wenn ich jetzt "test" einfügen will, kommt "testtest" raus. Auch wenn ich anschließend eine Instanz wieder
schließe, bleibt der Fehler bestehen.
Mir ist noch ein fataler Fehler aufgefallen, kann den aber nicht wirklich zu 100% reproduzieren. Also ich habe manchmal
schon um die 10 Tabs (au3 Dateien in der IDE) offen und manchmal kommt es vor, dass ich aus Versehen eine Datei doppelt öffne.
Dadurch kann es im Anschluss (was man genau machen muss, weiß ich nicht) passieren, dass die erste bearbeitete Datei wieder
zurückgesetzt wird. Mir ist das letztens passiert und 30 Minuten warn futsch. Das automatische Backup kam leider auch zur falschen Zeit.
Sinnvoll wäre es, wenn man eine Datei nur 1x öffnen kann bzw. das dann einfach die Datei selektiert wird in der Ansicht.
Als ich damals mit AutoIt angefangen habe, hatte ich auch ständig Probleme mit den false-positive Funden.
Ganz schlimm kann es werden, wenn man bestimmte Funktionen / Dlls verwendet.
Ich hatte mal ein Programm 2017 released und es hat bei Virustotal über 40 Virenfunde.
In der Regel bekomme ich bei normalen Programmen aber so um die 4 Funde bei Virustotal.
Lasse meine Exe auch immer schön von Windows Defender einsenden, dann hat Windows auch keine Probleme damit.
Solltest du wirklich mal Software releasen bzw. für Kunden bereitstellen, kannst du ggf. die Exe bei Avira einschicken lassen.
Ich würde mal behaupten, dass Avira sowieso der reinste Müll ist. Ich benutze beispielsweise den Win Defender und wenn der
mich mal nervt, kann man den auch ganz abschalten. Als Developer hat man ganz andere Sorgen.
Gibt es eigentlich auch andere möglichkeiten Grafiken zu Zeichnen außer GDI/GDI+ bei Autoit?
Von der Effizienz ist Irrlicht aus meiner Erfahrung am besten.
Leider ist der Wrapper bzw die Umsetzung für AutoIt nicht ansatzweise so gut wie für C++.
Ist echt gut geworden!
Da sieht man wieder, dass GDI+ schnell an die Grenzen geht.
Ah das habe ich gar nicht mitbedacht. Jetzt funktioniert es wieder.
_WinHttpSimpleSSLRequest() ist echt nice.
Danke dir.
Falls jemand die Funktionen sucht:
https://github.com/dragana-r/auto…inHttp_Examples
Ohne https redirect funktioniert der Code
Das Script soll quasi testweise das Formular mit leeren
Input Daten abschicken, sodass von der Seite eine Fehlermeldung
kommt.
Diese wird aber durch https irgendwie nicht über winhttp angezeigt.
#include <WinHTTP.au3>
; Open needed handles
; Specify the reguest:
Global $hw_open = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1")
Global $hw_connect = _WinHttpConnect($hw_open, "www.test.com")
_CheckWinHttpLicenseSystem()
If @error Then
MsgBox(4096+16, "Error", "Server nicht erreichbar.")
Exit
EndIf
; Clean
_WinHttpCloseHandle($hw_connect)
_WinHttpCloseHandle($hw_open)
Func _CheckWinHttpLicenseSystem()
; -i- check if license system is up
Local $iPost = _Post("submit=submit&url=", "/index.php/test")
If Not StringInStr($iPost, "require") Then
; license system not exist or connection is down
Return SetError(1)
EndIf
Return SetError(0)
EndFunc
Func _Post($Post, $Link)
Local $data = ""
$h_openRequest = _WinHttpOpenRequest($hw_connect, "POST", $Link, "HTTP/1.1") ; Wir stellen eine Anfrage
_WinHttpSendRequest($h_openRequest, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $Post) ; Schicken die Anfrage ab
_WinHttpReceiveResponse($h_openRequest) ; Wir erwarten eine Antwort
Do
$data &= _WinHttpReadData($h_openRequest) ; Wir empfangen immer wieder Daten und hängen die an die Variable ran
Until @error ; Bis wir einen Fehler bekommen (keine weiteren Daten mehr kommen!)
_WinHttpCloseHandle($h_openRequest) ; Wir schließen die Verbindung wieder
Return $data
EndFunc ;==>_Post
Alles anzeigen
Moin
ich bin auf https umgestiegen und habe gemerkt, dass meine Software sich zwar mit der Seite verbinden kann,
jedoch keine Session mehr möglich ist bzw. kann ich mich quasi nicht mehr mit den Variablen über die GET Methode
einloggen und somit eine Session aufbauen.
Ich benötige dieses Verfahren, damit Nutzer sich per Software einloggen können, um sich zu verifizieren.
Habt ihr gleiche Probleme oder gibt es eine andere Lösung?
Ich würde hier auch eher zu IniRead() und IniWrite() tendieren, die Section() Variante benutze ich z.B
eher für große Datenabfragen die ich automatisieren will.
Ich würde so vorgehen:
1. Programm wird gestartet
2. Werte werden initialisiert bzw. vorher neu erstellt
3. Während das Programm läuft, per Variablen inkrementieren
4. Bei Beendigung die Werte über INI abspeichern
So wie ich das verstanden habe, suchst du eine Zahl in einer Textdatei.
Wenn du die Zahl gefunden hast, willst du quasi einen Range Scan
machen, du gehst also solange weiter (+1), bis keine Zahlen mehr kommen
und das selbe umgekehrt (-1).
Die ganzen Werte kannst du dann mit den _Array Funktionen sortieren.
Bin mir nicht sicher, aber _ArraySort() könnte glaube ich weiterhelfen.
Falls ich was falsch verstanden habe, korrigiert mich nochmal.
Man könnte auch einen Auto Formatter einbauen strg+shift+f
ISN AutoIt Studio ist immer noch beschte wo gibt.
Kleines Projekt gestartet und man kann richtig schön und geordnet proggen.
Freue mich auf das nächste Update.
Endlich mal wieder ein AutoIt Game.
Das fetzt!
Ein Bild sagt ja bekanntlich mehr als tausend Worte
![]()
(Das neue Suchfenster mit zusätzlichen Filteroptionen)
Unbenannt.PNG
Ein episches Paint Bild.
Ist die globale suchen/ersetzen Funktion schon drin?
Ja das hab ich auch noch auf der ToDo Liste xD
Auf das Update freue ich mich!! *_*
OK Leute,
danke, dass Ihr Euch die (vergebliche) Mühe gemacht habt, mir andere Lösungen anzubieten. Aber auch daraus kann man lernen.
Ich habe eine ähnliche Aufgabe auch anders gelöst (Func - GuiCreate ... GuiShow - EndFunc). Aber dabei hat sich halt auch die Frage ergeben - siehe oben.
Ich gehe also mal davon aus dass es keinen Befehl, keine Funktion gibt mit der man einem bereits definierten und angezeigten GUI nochmals das "Kommando" zurückgibt. Man kann also die Fragezeichen in Zeile 32 - letztes Beispiel - nicht durch etwas ersetzen, das quasi das Programm auf Zeile 12 zurückbefiehlt.
Ich denke, die Antwort auf meine Frage ist damit gegeben und lautet: "Nein, das geht nicht".
Aber das würde ja auch gar keinen Sinn machen, wieder auf Zeile 12 zu springen.
Es gibt schon bestimmte Logiken, die man als Programmier anwenden und einhalten muss,
ansonsten funktioniert das System nicht.
Moin Sebastian,
willkommen an Bord! Bist ja schon ein alter AutoIt Hase.