Nein, das Problem existiert wirklich nur mit der AutoIt.de Seite (konnte ich nur bisher damit beobachten), mit jeder anderen HTTPS Seite klappt es hervorragend.
Beiträge von alpines
-
-
Ich denke, das Problem hat mit dem Sicherheitszertifikat von AutoIt.de zu tun.
Das habe ich schon mehrmals beobachtet, mit WinHttp kommt man nicht auf die Seite hier, InetRead versagt auch völlig und der Internet Explorer schafft es ebenfalls nicht.Mit anderen Seiten klappt es nämlich:
AutoIt$Url = "https://upload.wikimedia.org/wikipedia/commons/5/5b/PallasJupiter.GIF" MsgBox(4096, "Meldung", $Url) ;HttpSetUserAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0") $Clip = InetRead($Url,16+1);Gibt dir Binary vom Bild MsgBox(4096, "Meldung", $Clip&@CRLF&@extended);es sollten 32209 Bytes sein nicht 12157 $hFIle = FileOpen("test.gif", 16 + 1) FileWrite($hFIle,$Clip) FileClose($hFIle) $ClipAlt = ClipGet() -
Führst du die Funktion überhaupt aus? Lass dir mal eine MsgBox an den Anfang der Funktion ausgeben mit dem Inhalt von Input1.
-
Sicher, dass $sInput1 das ist was du brauchst? Das s lässt mich auf einen String schließen obwohl du eigentlich $hInput1 meinst oder nicht?
Guck dir nochmal die Bezeichnungen an und lass dir mal das Passwort angeben, du greifst vielleicht auf das falsche Control zu. -
Also einfach ausgedrückt, "No Way"!?
Es ist so wie @autoiter es schon gesagt hatte. Warum willst du mehrere Instanzen denn verhindern?
Willst du nicht, dass jemand die Datei editiert wärend du sie in AutoIt editierst? Dann kopier, bearbeite und benenn sie wieder um.Du musst uns schon ein bisschen mehr verraten, dann können wir dir auch bessere Lösungswege geben.
Aber wie gesagt, präventiv kannst du da nicht viel machen. -
Ich starte per AutoIT-Script Excel. Nun soll, wenn Excel durch das AutoIt-Script gestartet wurde, keine weitere Excelinstanz gestartet werden dürfen. Egal wie die zusätzliche Excelinstanz gestartet werden soll (Doppelklick auf Exceldatei, Doppelklick auf Programmverknüpfung etc.). Erst wenn die durch AutoIt gestartete Excelinstanz beendet wurde soll wieder die Standardeinstellung gelten. Wie erreicht man das? Danke!
Präventiv wirst du da nicht viel machen können aber du kannst einfach die PID deines Excel-Prozesses speichern und alle beenden die ein Excel-Prozess sind aber nicht die PID haben.
Dazu solltest du aber noch eine MsgBox aufblenden lassen, damit der User bescheid weiß was los ist. -
Besitzt Du seine Datei?
ich habe die eigentlich einfache Aufgabenstellung eine Textdatei in ANSI zu erstellen.
Mit diesem Code versuche ich es, aber es ist laut Notepad++ immer eine UTF-8 Datei.Deine Frage erübrigt sich doch wenn er sie selber erstellen will?
Du kannst mit den Flags auch schreiben, da 1 append ist und bei einer neuen Datei (er will ja eine erstellen) Schreibrechte gewährt. -
Aber einer leeren Datei kann man ohne BOM nicht ansehen welche Kodierung für diese vorgesehen ist.
Wenn du mit den Flags schreibst die der TE gepostet hat, dann öffnet Npp die Datei immer noch mit UTF-8.
Was sagt denn FileGetEncoding?
Liefert 256 = UTF-8 ohne BOM auch wenn man in die Datei schreibt.
-
Liegt es daran, dass du keine ANSI exklusiven Zeichen verwendest und Notepad++ deswegen keine Differenzierung zwischen UTF-8 und ANSI vornimmt?
Wenn bei beiden dasselbe rauskommt ist es ja egal welche Kodierung du verwendest.UTF-8 übernimmt ja, soweit ich weiß, die ANSI Tabelle und erweitert sie mit weiteren Zeichen.
-
Beim nächsten Mal den Haken für 'gelöst' setzen nicht vergessen! (1. Beitrag bearbeiten, Threadstatus anpassen)
-
_GetIP kann man nicht nutzen, da es diese Funktion schon gibt.
Du hast vergessen die Inet.au3 rauszunehmen.
-
Wenn du die entsprechenden Funktionen verwendest, dann kannst du in dem Clipboard auch Bilder abspeichern.
Du musst uns nur noch verraten von wo du diese Bilder herkriegst. Wenn es eine Website ist, die du mit dem Internet Explorer ansteuerst, dann kannst du mit InetGet und dem Src-Attribut die Datei downloaden und mit den _ClipBoard_*-Funktionen es dort einfügen.
Wenn du eine Datei auf dem System hast, dann sollte das auch mit den Funktionene gehen. -
GetCurSel liefert dir den Index zurück und nicht etwa den Inhalt der in der Box steht.
Wenn du mehrere Instanzen starten möchtest, dann kannst du sie so auslesen und dann mit einer For-Loop starten.
Die Item-Texte holst du dir mit _GUICtrlListBox_GetSelItemsText und iterierst über den Schleifenindex der For-Loop:AutoIt
Alles anzeigen#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #include <GuiListBox.au3> #include <Array.au3> $Form1 = GUICreate("Form1", 170, 154, 192, 124) $List1 = GUICtrlCreateList("", 8, 8, 153, 97, BitOR($LBS_NOTIFY,$LBS_MULTIPLESEL,$WS_VSCROLL,$WS_BORDER)) GUICtrlSetData(-1, "A|B|C|D|E|F") $Button1 = GUICtrlCreateButton("Button1", 8, 112, 155, 33) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $aSel = _GUICtrlListBox_GetSelItemsText($List1) _ArrayDisplay($aSel) For $i = 1 To $aSel[0] MsgBox(0,0, "Starte Programm mit Parameter: " & $aSel[$i]) Next EndSwitch WEnd -
Deine Abfrage ist logisch falsch. Du negierst $NewIPCheck (den String was schon mal keinen Sinn ergibt) und vergleichst das Ergebnis dann mit $OldIP.
Du könntest stattdessen auch lieber ein Ungleich <> formulieren. Außerdem ist die _GetIP-Funktion für die Tonne, nimm lieber die hier (im Script).
Und deine Zuweisung für $NewIPCheck ist auch falsch, die wird sowieso überschrieben, du musst $NewIPCheck in $OldIP speichern und nicht andersherum.Jetzt musst du nur noch den Fehlerfall ergänzen, wenn du keine IP zurückbekommst. Und formatier beim nächsten mal deinen Code besser!
-
Das geht aber nur, wenn das Skript dauerhaft läuft. Aber so ist das natürlich am besten dann.
Dann speicherst du halt die alte IP in eine Datei ab, ist doch kein Beinbruch?
-
Einfach eine eigene GUI mit einem großen Edit-Control, einer Checkbox bzw. Radio für das akzeptieren und zwei Buttons: Annehmen oder Abbrechen.
-
Speicher doch die alte IP einfach in einer Variable $sOldIP ab und hol dir in regelmäßigen Abständen eine neue.
Wenn die neue IP nicht leer sein sollte (weil die Funktion z.B. fehlgeschlagen ist) und zur alten unterschiedlich sein sollte, dann überschreibst du $sOldIP, zeigst die MsgBox an und lässt die Schleife von vorn durchlaufen. -
Und den Quellcode bzw. Zeichenfolgen kann man (angeblich) auslesen. Z. B. mit "Strings v2.53" von Sysinternals soll das funktionieren. Gelingt das einem Anwender, und weiss der wie ich es verschlüsselt habe, könnte er an das Passwort kommen.

Wenn jemand deinen Code knacken möchte, dann wird er auch das immer schaffen.
Die Frage ist doch, was ist so wichtig, dass du es unbedingt verstecken und sichern möchtest in einem AutoIt Script?Deinen Key musst du ja nicht als Plaintext im Code speichern, sondern kannst ihn für die Funkion aus mehreren Strings zusammensetzen lassen und ggf. deobfuscatende Funktionen nutzen.
-
Wieso schreibst du dir überhaupt dafür eine eigene Funktion? Du kannst doch direkt die Crypt-Funktion aufrufen.
_Crypt_EncryptData($sString, $sPass, $CALG_RC4) alleine reicht da schon aus (_Crypt_Startup wird automatisch aufgerufen).Außerdem solltest du vielleicht von RC4 wegwechseln, da das nicht sehr sicher ist.
-
Werden mit der FF UDF HTML Elemente angesteuert oder arbeitet die UDF mit ActiveX-/COM-Objekten?
Die UDF sendet mittels TCP Befehle an das installierte MozRepl Plugin und diese führt die entsprechenden Befehle dann aus.
Was meinst du denn mit ActiveX/COM? Das hat mit den Elementen doch gar nichts zu tun.Du kannst mit der UDF sowohl auf die HTML DOM als auch nur auf den Text (Teil des DOMs) zugreifen, falls das deine Frage ist.
Die UDF arbeitet nicht wie die IE.au3 mit einem COM-Objekt sondern wie vorhin erwähnt mit TCP Paketen die ein Plugin dann auswertet.