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

Beiträge von Schnuffel

  • Benutzerinteraktion via Console

    • Schnuffel
    • 25. September 2024 um 17:40

    Also, wenn du ein Programm als Gui Version kompilierst dann ist trotz Aufruf aus einer Konsole heraus das Programm ein GUI Programm.

    Zitat

    Mein Programm ist als exe kompiliert und kann sowohl per GUI-Version als auch in einer CMD-Konsole mit Commandline-Parametern
    gestartet werden.

    Ich verstehe den Aufbau noch nicht, dass du ein Gui Programm dann in der Konsole interagieren lassen willst.
    Du kannst ja gerne deine exe mit Parametern über eine Konsole starten, aber danach wäre eine Abfrage mit einer MSgBox doch der richtigere Weg.

    Zitat

    und warum muss es WinApi ... Dingsbums sein?
    Wird es mit Commandline Parametern gestartet, gebe ich Meldungen des Proggis mit _WinAPI_WriteConsole aus.

  • Benutzerinteraktion via Console

    • Schnuffel
    • 24. September 2024 um 20:49

    manchmal ist die allgemeine Beschreibung dessen, was erreicht werden soll hilfreicher.

    So mancher hatte hier schon Ideen, auf die der Thread-Ersteller nie gekommen wäre.

    Dazu braucht es aber den Blick auf das Problem und nicht auf die bereits eingeschränkte Lösungsfindung des Thread Erstellers.

  • Ballontipp bei Programmstart anzeigen an definierter Stelle

    • Schnuffel
    • 24. September 2024 um 12:30

    wenn ich das so lese schreit das ja gast nach einem child Fenster. Das kannst du gestalten wie du willst. Kann auch so aussehen wie ein Ballon oder eine Wolke oder, …

    Gibt sicher reichlich beispiele für popup child window

  • Ballontipp bei Programmstart anzeigen an definierter Stelle

    • Schnuffel
    • 18. September 2024 um 20:04

    stumpf, aber funktioniert:

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <ListBoxConstants.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    
    Example()
    
    Func Example()
    	Local $sMESSAGE = "||"
    
    	$GUI = GUICreate("My GUI list") ; will create a dialog box that when displayed is centered
    
    	Local $idMylist = GUICtrlCreateList("", 64, 32, 121, 97, BitOR($WS_VSCROLL, $LBS_USETABSTOPS))
    	GUICtrlSetLimit(-1, 200) ; to limit horizontal scrolling
    	GUICtrlSetData(-1, "||")
    	GUICtrlSetData(-1, "1. Item")
    	Local $idButton_Close = GUICtrlCreateButton("my closing button", 64, 160, 175, 25)
    
    	GUISetState(@SW_SHOW)
    	$f = WinGetPos($GUI)
    	$a = ControlGetPos("","", $idMylist)
    	ToolTip("Beispieltext", $f[0]+$a[0]+40, $f[1]+$a[1]+$a[3]-50, "INFO", 1, 1)
    	Sleep(10000)
    	ToolTip("")
    
    	; Loop until the user exits.
    	While 1
    		Switch GUIGetMsg()
    			Case $GUI_EVENT_CLOSE
    				ExitLoop
    			Case $idButton_Close
    				MsgBox($MB_SYSTEMMODAL, "", "the closing button has been clicked", 2)
    				Exit
    		EndSwitch
    	WEnd
    EndFunc   ;==>Example
    Alles anzeigen
  • Ghub lua Script zu Auto it Bitte um Hilfe

    • Schnuffel
    • 15. September 2024 um 10:16

    ich denke den Thread kannst dicht machen ^^

  • Ghub lua Script zu Auto it Bitte um Hilfe

    • Schnuffel
    • 14. September 2024 um 11:16

    wo steckt denn der Sinn hinter diesem Script?

  • Compilierte EXE wird von Cortex XDR blockiert

    • Schnuffel
    • 15. Juli 2024 um 18:16

    ach ja, die Namensgebung bleibt dir frei. ob die Datei autoit3.exe heißt, oder ganz anders liegt ganz bei dir.

  • Compilierte EXE wird von Cortex XDR blockiert

    • Schnuffel
    • 15. Juli 2024 um 18:15

    na klar.

    lade dir PureBasic herunter und installiere es: https://www.purebasic.com/german/download.php

    erstelle dir einen Ordner und packe da die autoit.exe deiner genutzten Version rein.
    ( Kopiere "C:\Program Files (x86)\AutoIt3\AutoIt3.exe" ==> dein Ordner )

    erstelle in deinem Ordner eine Datei mit der Endung .pb und folgendem Inhalt:

    Spoiler anzeigen
    Code
    ; --------------------------------------------------------------------------------------------------------------------------------
    ;  _____                ____            _        _                     _              __                         _        _ _    |
    ; |  __ \              |  _ \          (_)      | |                   | |            / _|                       | |      (_) |   |
    ; | |__) |   _ _ __ ___| |_) | __ _ ___ _  ___  | |     ___   __ _  __| | ___ _ __  | |_ ___  _ __    __ _ _   _| |_ ___  _| |_  |
    ; |  ___/ | | | '__/ _ \  _ < / _` / __| |/ __| | |    / _ \ / _` |/ _` |/ _ \ '__| |  _/ _ \| '__|  / _` | | | | __/ _ \| | __| |
    ; | |   | |_| | | |  __/ |_) | (_| \__ \ | (__  | |___| (_) | (_| | (_| |  __/ |    | || (_) | |    | (_| | |_| | || (_) | | |_  |
    ; |_|    \__,_|_|  \___|____/ \__,_|___/_|\___| |______\___/ \__,_|\__,_|\___|_|    |_| \___/|_|     \__,_|\__,_|\__\___/|_|\__| |
    ;                                                                                                                                |
    ; This file is used to act as a launcher for an AutoIt a3x-File to reduce false positive alerts for AV scanners.                |
    ; It passes all parameters to the AutoIt3.exe.                                                                                   |
    ;                                                                                                                                |
    ; NOTE: This script is written in PureBasic                                                                                      |
    ; --------------------------------------------------------------------------------------------------------------------------------
    ; Adjust the name of your a3x script here. 
    ; It is expected that your script is located in the Subdirectory defined in 'datafolder.s'
    ; If all files are in the same directory define datafolder.s = ''
    
    ; Definition of the Subfolder for a3x- & autoit3-file
    datafolder.s  = ""
    
    ; Name of a3x-file
    a3xFile.s =       "Start.a3x"
    
    ; MD5 Hash of actual a3x-file (Hash is generated with au3-file: "_Crypt_HashFile ( $a3x-file, 'MD5')"
    Hash.s = "0x......."
    
    ; Name of autoit3.exe. Only the fileextension must be ".exe"!
    Autoit3File.s =   "autoit3.exe"
    
    ; --------------------------------------------------------------------------------------------------------------------------------
    ; Internal section
    a3xFullFile.s = datafolder + a3xFile
    Autoit3FullFile.s = datafolder + Autoit3File
    
    Parameters.s = ""
    AutoIt3_x86Path.s = GetCurrentDirectory() + Autoit3FullFile
    a3xPath.s = GetCurrentDirectory() + a3xFullFile
    Quote.s = Chr(34)
    
    Parameters = RTrim(Parameters)
    
    If FileSize(a3xPath) = -1
       MessageRequester("Error", a3xFile + " not found!", #PB_MessageRequester_Ok + #PB_MessageRequester_Error) 
      End
    EndIf
    
    If FileSize(AutoIt3_x86Path) = -1
       MessageRequester("Error", Autoit3File + " not found!", #PB_MessageRequester_Ok + #PB_MessageRequester_Error) 
      End
    EndIf 
    
    ; a3x-File gegen MD5 Hash prüfen
    UseMD5Fingerprint()
    If "0x" + UCase(FileFingerprint(a3xPath, #PB_Cipher_MD5)) <> Hash
      MessageRequester("Error", a3xFile + " has wrong MD5 Hash!", #PB_MessageRequester_Ok + #PB_MessageRequester_Error) 
      End
    EndIf
    
    For i = 0 To CountProgramParameters()-1
      Parameters = Parameters + Quote + ProgramParameter(i) + Quote + " "
    Next
    
    RunProgram(Quote + AutoIt3_x86Path + Quote + " " + Quote + a3xPath + Quote,Parameters,GetCurrentDirectory())
    
    End 
    Alles anzeigen

    erstelle dein Script und kompiliere es als a3x-Datei.

    erstelle mit der "make_md5_Hash.au3" einen MD5-Hash der a3x-Datei und füge das Ergebnis inkl. "0x..." in die ****.pb Datei als hash.s ein (Zeile 25)

    starte die ****.pb Datei (PureBasic startet) und compiliere diese Datei nach deinen Anpassungen mittels F5.
    Die kompilierte exe liegt in deinem Temp-Verzeichnis (%tmp%) im Explorer eingeben ;)

    die Dateien "kompilierte exe", "a3x-Datei" und "autoit3.exe" kannst du jetzt verteilen.

    Mit einem Start deiner *****.pb Datei wird autoit3.exe gestartet (alle übergebenen Parameter werden weitergereicht an die a3x-Datei)
    mit dem Parameter der a3x-Datei.

    Beispiel hänge ich mal mit an

    Entliehen habe ich die Idee von ISI360 (ISN autoit Studio) https://www.autoitscript.com/forum/topic/19…-autoit-studio/

    Dateien

    PureBasic.zip 582,2 kB – 291 Downloads
  • Compilierte EXE wird von Cortex XDR blockiert

    • Schnuffel
    • 14. Juli 2024 um 20:36

    du kannst auch PureBasic verwenden, um dein Script zu starten.

    Wenn Interesse besteht einfach Bescheid geben.

    Erfordert eine autoit3.exe und ein a3x-Datei in einem Verzeichnis. Die selbstkompilierte PureBasic.exe startet dann die a3x.

    Prüft anhand md5, ob die a3x Datei unverändert ist oder ersetzt wurde.

  • Denkknoten im Umgang mit Timerinit/Timerdiff

    • Schnuffel
    • 12. Juli 2024 um 18:18

    ich werf mal noch meine Idee dazu in den Ring:

    AutoIt
    HotKeySet('{ESC}', _Exit)
    
    Global $iTimer = TimerInit()
    Global $bAdLibSet = False
    Global $Turnus = 20 ; in Sekunden
    Global $Anzeigedauer = 5 ; in Sekunden
    While 1
    	If TimerDiff($iTimer) > $Turnus * 1000  And $bAdLibSet = False Then
    		$bAdLibSet = True
    		AdlibRegister("__Funktion", 1000)
    	EndIf
    	If TimerDiff($iTimer) > ($Turnus + $Anzeigedauer) * 1000 Then
    		AdlibUnRegister("__Funktion")
    		$bAdLibSet = False
    		$iTimer = TimerInit()
    	EndIf
    WEnd
    
    Func __Funktion()
    	ConsoleWrite("Zeit: " & @SEC & @CRLF)
    EndFunc
    
    Func _Exit()
    	Exit
    EndFunc
    Alles anzeigen
  • GUICtrlSetBkColor() verändert Buttoninhalt !?

    • Schnuffel
    • 8. Juli 2024 um 19:27

    ich glaube mal was gelesen zu haben, dass die Änderung der Hintergrundfarbe dieser Controls bedingt, dass auch der Control Style geändert werden muss.

    Als Schlagwort schmeiße ich mal den "XP-Style" in den Raum, ohne maßgeblich mich darauf beziehen zu wollen.

    Durch die Änderung des Styles des Controls wird $BS_Multiline "anders" interpretiert. Dabei wird der Text etwas nach oben verschoben.


    Wenn du diesen Effekt nicht möchtest, dann mach deine Button's höher oder lass den Multiline Style weg ;)

  • Tor Browser mit Autoit als Standart

    • Schnuffel
    • 6. Juli 2024 um 20:33

    das sieht sehr gut aus.

    Ich habe das getestet.

    TorBrowser entpackt nach ... , RegPortBro in adm. Konsole ausgeführt :
    RegPortBro.exe HKCU "TorBrowser" "<Pfad zur firefox.exe im TorBrowser Ordner>"

    SetDefaultBrowser.exe liefert (Demo von meinem Rechner):

    HKLM Firefox-308046B0AF4A39CB
    name: Firefox
    path: "C:\Program Files\Mozilla Firefox\firefox.exe"

    HKLM Google Chrome
    name: Google Chrome
    path: "C:\Program Files\Google\Chrome\Application\chrome.exe"

    HKLM IEXPLORE.EXE
    name: Internet Explorer
    path: C:\Program Files\Internet Explorer\iexplore.exe

    HKLM Microsoft Edge
    name: Microsoft Edge
    path: "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"

    HKCU Firefox-308046B0AF4A39CB
    name: Firefox
    path: "C:\Program Files\Mozilla Firefox\firefox.exe"

    HKCU TorBrowser
    name: TorBrowser
    path: C:\Program Files (x86)\Tor Browser\Browser\firefox.exe

    Danach:
    SetDefaultBrowser.exe HKCU TorBrowser

    mit dem Aufruf einer Inet-Seite wird jetzt folgendes angezeigt:

    grafik.png

    Das sollte mit deinem Tool auch automatisch auswählbar sein ;)

  • Tor Browser mit Autoit als Standart

    • Schnuffel
    • 6. Juli 2024 um 20:18

    ich hab da mal was ausgegraben:

    SetDefaultBrowser – Set the Default Browser per command line or script – the kolbicz blog

    RegPortBro – Register Portable Browser – the kolbicz blog

  • Tor Browser mit Autoit als Standart

    • Schnuffel
    • 6. Juli 2024 um 18:41

    nee nee, das ist gar nicht so schwer, aber nur eine "Notlösung.

    du kannst über:

    AutoIt
    $retval_http_ProgID = RegRead('HKCU\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice', 'ProgID')
    $retval_https_ProgID = RegRead('HKCU\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice', 'ProgID')

    die Assoc's der Protokolle holen, sofern diese über eine "UsersChoice" erstellt wurden.

    Meine Idee wäre jetzt, die Daten daraus zu "verbiegen" wenn es nur auf deinem Rechner ist, sollte das ja kein Problem sein.
    Im RegKey HKEY_CLASSES_ROOT\<ausgelesene ProgID aus obigem Schlüssel>\shell\open\command steht der Pfad der aktuellen Anwendung und den notwendigen Parametern.

    diese ProgID würde ich jetzt mittels FTYPE in einer adm. DOS-Konsole "verbiegen" wobei ich mir die ürsprünglichen Daten speichern würde für ein "Reset"

    So sollte es möglich sein die letzendliche Anwendung zu verbiegen. Ist nicht schö aber vermutlich funktional ;)


    Kann man vielleicht auch direkt in der Registry umbiegen. Ich weiß aber nicht, was FTYPE alles verändert.
    Einfach ausprobieren.

    Und wie immer ==> vorher ein Backup der Registry machen ;)


    Noch eine Idee...

    registrier doch einfach für den TorBrowser selbst eine Assoc. Dann kannste den auch als Standard mit deinem Tool setzen ;)

  • Tor Browser mit Autoit als Standart

    • Schnuffel
    • 6. Juli 2024 um 18:02

    das scheint nicht mehr zu funktionieren. Ich ziehe meinen Vorschlag hiermit vorerst zurück ^^


    ich würde den Tor-Browser entpackt in "C:\Program Files (x86)\Tor Browser" ablegen und mit

    Code
    ftype htmlfile="C:\Program Files (x86)\Tor Browser\Browser\firefox.exe" %1

    in einer administrativen DOS-Konsole zuweisen ;)

    Geht natürlich auch mit allen anderen Browsern.

    Natürlich auch mit "nicht" installierten Browsern wie Google Chrome im Userverzeichnis. ;)

  • sortieren nach IP

    • Schnuffel
    • 26. Juni 2024 um 15:19

    ich würde die IP Blöcke alle auf 3 stellen jeweils links mit Nullen auffüllen, die Blöcke zu einer 12-stelligen Zahl zusammensetzen,

    in eineZahl umwandeln und dann sortieren.

  • Ablaufdatum für kompilierte exe

    • Schnuffel
    • 24. Juni 2024 um 18:17

    so kannst du in autoit direkt die BIOS Version abfragen:

    AutoIt
    Local $iPID = Run('Powershell.exe -Command (gwmi Win32_Bios).SMBIOSBIOSVersion', @DesktopDir, @SW_HIDE, 6)
    If ProcessWaitClose($iPID, 10) = 0 Then SetError(1, 2, 0)
    Local $sOutput = StdoutRead($iPID)
    ConsoleWrite($sOutput & @CRLF)

    Ich denke in deinem Fall sollte man erstmal identifizieren, was der Trigger für ein Software Update darstellt. Zeit ist da ein sehr stumpfer Ansatz wenn es um Usability geht.

  • eingebundenes Powershell macht plötzlich Probleme

    • Schnuffel
    • 16. Juni 2024 um 14:31

    wenn du alles in Powershell machen willst, warum verwendest du dann autoit?

  • eingebundenes Powershell macht plötzlich Probleme

    • Schnuffel
    • 16. Juni 2024 um 13:14

    ich hätte da einen kürzeren Ansatz.

    Bezüglich mehrere Pings gleichzeitig, schau mal im Forum nach "MultiPing"

    AutoIt
    #include <Array.au3>
    Local $s_PSCommand = "Get-ADComputer | Where {$_.Name -like 'W*' -Or $_.Name -like 'O*'} | Select Name"
    Local $iPID = Run('Powershell.exe -Command ' & $s_PSCommand, @DesktopDir, @SW_HIDE, 6)
    If ProcessWaitClose($iPID, 60) = 0 Then Exit MsgBox(0, "", "Prozess wurde nicht innerhalb von 60 Sekunden beendet.")
    $aPIDOut = StringSplit(StdoutRead($iPID), @CRLF)
    For $i = $aPIDOut[0] To 1 Step - 1
    	If $aPIDOut[$i] = "" Or StringInStr($aPIDOut[$i],"----") Or StringInStr($aPIDOut[$i], "Name  ") Then _ArrayDelete($aPIDOut, $i)
    Next
    $aPIDOut[0] = UBound($aPIDOut) -1
    ;_ArrayDisplay($aPIDOut)
    For $i = 1 To $aPIDOut[0]
    	ConsoleWrite(Ping($aPIDOut[$i],250) & @CRLF)
    Next
    Alles anzeigen

    Ich kann im MOment die AD-Funktion nicht testen. Ist aus dem Kopf erstellt ^^

  • eingebundenes Powershell macht plötzlich Probleme

    • Schnuffel
    • 19. Mai 2024 um 10:36

    die Fehlerbeschreibung zeigt doch ganz deutlich auf die Position, mit der der Parser ein Problem hat:

    Code
    Get-ADComputer : Fehler beim Analysieren der Abfrage: "OperatingSystem -like Windows 10*" Fehlermeldung: "syntax
    error" an folgender Position: "23".
    In Zeile:1 Zeichen:1
    + Get-ADComputer -Filter 'OperatingSystem -like Windows 10*' | Select-O ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    das Hochkomman nach Windows 10*'

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™