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

Beiträge von alpines

  • Text verschlüsseln/entschlüsseln

    • alpines
    • 11. Juli 2017 um 22:31

    Du verwendest eine ziemlich alte Version von AutoIt, es wäre besser du updatest sie mal.
    _StringReverse ist schon seit langer Zeit in StringReverse umbenannt worden und in den prebuilt-Funktionen verfügbar und _StringEncrypt flog raus.

    Stattdessen kannst du jetzt die _Crypt_EncryptData-UDF verwenden und als Algorithmus RC4 nehmen, das kommt aus dasselbe hinaus.
    Die Dokumentation mit einem passenden Beispiel findest du hier: https://www.autoitscript.com/autoit3/docs/l…EncryptData.htm

    Damit setzt ich das ganze mal auf gelöst, da der Hauptfehlerpunkt hier die AutoIt-Version ist die schon etwas in die Jahre gekommen ist.
    Lass sie dir doch mal mit einer MsgBox von @AutoItVersion ausgeben und verrate uns mal welche du verwendest (3.3.6.0, 3.3.8.1, 3.3.10.2?).

  • _FFSearch mit Leerzeichen im Suchbegriff möglich?

    • alpines
    • 11. Juli 2017 um 20:04
    Zitat von olfibits

    ansonsten kannst du statt der leerzeichen auch %20 einfügen.

    Die innerTexte von HTML Elementen sind nicht url-encodiert. D.h. wenn du nach "A%20B" suchst, suchst du nicht nach "A B" sondern nach "A%20B".

  • _FFSearch mit Leerzeichen im Suchbegriff möglich?

    • alpines
    • 11. Juli 2017 um 18:02

    Ja, solltest du können. Dabei werden die innerTexte von Elementen durchsucht und die können ja auch Leerzeichen enthalten.

  • Autoit exe und Windows 10 Firewall / Antivirus

    • alpines
    • 10. Juli 2017 um 16:29

    Guck mal ob du überhaupt den Defender-Echtzeitschutz aktiviert hast oder ob SmartScreen das direkt löscht.
    Du musst je nach dem was los ist unterschiedliche Aktionen durchführen.

  • Nachricht senden an alle in Netzwerk (evtl. via broadcast)

    • alpines
    • 9. Juli 2017 um 19:59

    Du könntest dafür die TCP-Funktionen von AutoIt verwenden. Dabei startest du auf deinem PC ein Masterserver und verteilst an die Clients die Skripte zum anmelden an den Server.
    Wenn du vom Masterserver eine Nachricht schickst, dann wird sie bei den Clients angezeigt.

  • AutoIt-Heise-Newsticker

    • alpines
    • 8. Juli 2017 um 23:27
    Zitat von bazii

    würdest Du mir bitte diese Funktion näher eräutern? Ich weiß zwar dass es um html und unicode geht, aber nicht was die Funktion wirklich bewirkt.

    In HTML werden Unicodezeichen codiert angegeben, das kann entweder durch ihren Charakterindex geschehen oder durch ihren Bezeichner.
    laquo («) wird in diesem Array gefunden und der korrekte Unicode-Wert rausgesucht um ihn dann im String mit ChrW(index) zu ersetzen.

    So taucht im Newsticker nicht laquo auf sondern das Zeichen direkt.

  • AutoIt-Heise-Newsticker

    • alpines
    • 8. Juli 2017 um 20:42
    Zitat von olfibits

    v. A. Auf dem PC meiner mum

    Gut, das ist aber auch eine andere Generation. Da sollte man nach Möglichkeit gleich 5 draufhauen.

  • AutoIt-Heise-Newsticker

    • alpines
    • 8. Juli 2017 um 20:32

    Dann setz doch deine Projektordner und die Datei auf die Ausnahmeliste? Dann haste kein Problem mehr.
    Sowieso gilt: Wer mit ein bisschen Verstand im Netz surft braucht keinen AV.

  • AutoIt-Heise-Newsticker

    • alpines
    • 8. Juli 2017 um 20:26
    Zitat von autoiter

    Das halte ich aber für falsch. AutoIt Programme, die auch noch auf das Internet zugreifen wollen, haben immer Probleme mit Antivirensoftware.

    Ob ein Script auf das Internet zugreift kann ein AV-Programm gar nicht rausfinden, da der Interpreter alles mitliefert.
    Wenn ich kein TCP nutze, dann hat die Datei immer noch die Routinen für die TCP-Funktionen drinne (um eventuell andere Scripte mit dem Compiled Script zu starten).

    Am günstigsten kommt man weg, wenn man die niedrigste Kompression nimmt und mit /nopack kompiliert (meine Erfahrung).
    Aber AutoIt wird nun mal von vielen AVs als False-Positive erkannt und da kann man nichts machen, es ist gut das die größten Namen es nicht als Virus erkennen (bis auf McAfee).

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • alpines
    • 8. Juli 2017 um 14:03
    Zitat von chrissi

    2010/11/10

    Diese Vesion ist mittlerweile fast 7 Jahre alt, da gibts sicherlich eine aktualisiertere.
    Ich schätze mal, dass du die 3.3.6.0 oder die 3.3.8.1 hast (lass dir mal die Version mit einer MsgBox von @AutoItVersion ausgeben).

  • Programm nur auf zweiten Monitor ausführen - Hilfe!

    • alpines
    • 8. Juli 2017 um 11:10

    Was passiert denn wenn du das Fenster auf dem 2. Bildschirm mit WinMove verschiebst und dann F11 an das Fenster mit ControlSend sendet?
    Da es sich um keine Vollbildanwendung im klassischen Sinne handelt (Spiel mit DX, oGL) kann man eigentlich nur das ganze festlegen wenn es irgendwo in einer .ini-Datei o. ä. auftaucht.

  • Parameterüber (cmdline) + _AD_RecursiveGetMemberOf

    • alpines
    • 6. Juli 2017 um 12:19

    Das ist ein altbekanntes Problem mit AutoIt. Der Klassiker darin ist die Verarbeitung von ListView Indices. Hier ein kleines Beispiel: (Konsole beachten!)

    AutoIt
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    
    
    $Form1 = GUICreate("AutoIt Test", 266, 218, 192, 124)
    
    
    $ListView1 = GUICtrlCreateListView("Column 1|Column 2", 8, 8, 250, 86)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 123)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 123)
    
    
    $ListView1_0 = GUICtrlCreateListViewItem("R1C1|R1C2", $ListView1)
    $ListView1_1 = GUICtrlCreateListViewItem("R2C1|R2C2", $ListView1)
    $ListView1_2 = GUICtrlCreateListViewItem("R3C1|R3C3", $ListView1)
    
    
    GUICtrlCreateGroup("Read mit Number()", 8, 104, 249, 49)
    $hReadNumber = GUICtrlCreateInput("", 16, 120, 233, 21)
    
    
    GUICtrlCreateGroup("Read ohne Number()", 8, 160, 249, 49)
    $hReadNoNumber = GUICtrlCreateInput("", 16, 176, 233, 21)
    
    
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUISetState(@SW_SHOW)
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    	EndSwitch
    WEnd
    
    
    Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
    	$varSelectedIndex = _GUICtrlListView_GetSelectedIndices($ListView1)
    
    
    	GUICtrlSetData($hReadNumber, _GUICtrlListView_GetItemText($ListView1, Number($varSelectedIndex)))
    	GUICtrlSetData($hReadNoNumber, _GUICtrlListView_GetItemText($ListView1, $varSelectedIndex))
    
    
    	ConsoleWrite("Number:   " & ">" & Number($varSelectedIndex) & "< VarGetType = " & VarGetType(Number($varSelectedIndex)) & @CRLF)
    	ConsoleWrite("NoNumber: " & ">" & $varSelectedIndex & "< VarGetType = " & VarGetType($varSelectedIndex) & @CRLF)
    EndFunc
    Alles anzeigen
  • Kleines Programmschließ Script

    • alpines
    • 5. Juli 2017 um 17:59
    Zitat von FlyAir

    Habe das mit der Logik falsch verstanden und auf die Zeit bezogen. War aber auf das && bezogen.

    Wenn du beide Programme in einem Skript kontrollieren willst wäre die einfachste Variable einfach die Blöcke zu klonen und neue Variablen zu erstellen.
    Dann prüfst du beim Schleifendurchlauf einfach ob die Timer abgelaufen sind und beendest sie dann.

    Wenn du möchtest, dass beide Anwendungen beendet werden, wenn die erste Anwendung beendet werden soll, dann kannst du einfach ein ProcessClose und ein and Not ProcessExists in die Do Until Schleife aufnehmen und bist schon fertig.

  • Kleines Programmschließ Script

    • alpines
    • 5. Juli 2017 um 17:48

    Na du ersetzt die 60 einfach durch die 135. Die Timer-Funktionen arbeiten in Millisekunden also schaust du nach wie viele Sekunden du warten willst und multiplizierst sie mit 1000.

  • Kleines Programmschließ Script

    • alpines
    • 5. Juli 2017 um 16:55
    Zitat von FlyAir

    Ich kann auch zwei Scripte daraus compilieren.

    Gibt elegantere Lösungen dafür aber ja so kann man das machen.

    Ich setz mal den grünen Haken für erledigt / gelöst, du kannst das beim nächsten Mal auch machen. (1. Beitrag bearbeiten, Threadstatus anpassen).

  • Do Sleep(100) Until $GotVariable ;<~ geht trotz False aus der Schleife

    • alpines
    • 5. Juli 2017 um 16:37
    Zitat von Candyland

    Ich lass eden Thread offen, da ich mir denke das es sicher noch zu einem fehler kommen wird.

    Da spricht mal wieder der Optimist aus dir :rofl:

  • Kleines Programmschließ Script

    • alpines
    • 5. Juli 2017 um 16:34

    Ja, 60 * 1000 Millisekunden ergeben 60 Sekunden.
    Das könntest du machen, allerdings musst du die Logik dann umformulieren.

    Was genau willst du denn mit dem 2. Programm machen? Soll es zeitgleich mit dem ersten geschlossen werden oder ein eigenes 60-Sekuden-Schließ-Intervall bekommen?

  • Kleines Programmschließ Script

    • alpines
    • 5. Juli 2017 um 15:38

    Oh ja, mein Fehler. Das muss natürlich TimerDiff sein und nicht die Variable selbst ^^

    AutoIt
    Local $tmrStarted = 0
    Local $sProcess = "blablubb.exe"
    
    
    While Sleep(1000)
    	If ProcessExists($sProcess) and Not $tmrStarted Then
    		$tmrStarted = TimerInit()
    	ElseIf ProcessExists($sProcess) and $tmrStarted and TimerDiff($tmrStarted) >= 60 * 1000 Then
    		Do
    			ProcessClose($sProcess)
    		Until Not ProcessExists($sProcess)
    		$tmrStarted = 0
    	EndIf
    WEnd
    Alles anzeigen
  • Kleines Programmschließ Script

    • alpines
    • 5. Juli 2017 um 14:29

    Habs nicht getestet, sollte aber funktionieren. Beim nächsten mal bitte in 'Programmieranfragen' posten, die H&Ü-Sektion ist für Leute gedacht, die Hilfe zu einem existierenden Script brauchen.

    AutoIt
    Local $tmrStarted = 0
    Local $sProcess = "blablubb.exe"
    
    
    While Sleep(1000)
    	If ProcessExists($sProcess) and Not $tmrStarted Then
    		$tmrStarted = TimerInit()
    	ElseIf ProcessExists($sProcess) and $tmrStarted Then
    		Do
    			ProcessClose($sProcess)
    		Until Not ProcessExists($sProcess)
    		$tmrStarted = 0
    	EndIf
    WEnd
    Alles anzeigen
  • Nach dem Aufruf einer Schleife wieder zurück in die GUI

    • alpines
    • 4. Juli 2017 um 18:57
    Zitat von BLinz

    Ist bestimmt eine Philosophie-Frage - aber ich habe mir das extra angewöhnt.

    Ist meiner Meinung nach kein guter Stil, man sollte Variablen so lokal wie möglich deklarieren.
    Wenn ich die $sIPAddresse nur in dem $Button1 Case nutze, dann kann ich sie dort auch Lokal erstellen und nutzen, dazu muss ich sie nicht an oberster Stelle global hinschreiben.

    Wenn man später eine Funktion schreibt die Ausversehen auf die globale Variable mit dem selben Namen zugreift, dann sucht man sich dumm und dämlich bis man rausgefunden hat, welche Variable sie aus welchem Scope genommen hat.

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™