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

Beiträge von UEZ

  • Das AutoIt-Tippspiel zur WM 2026! ⚽🏆

    • UEZ
    • 22. Juli 2026 um 10:58
    Zitat von AspirinJunkie

    Auch wenn die Teilnehmerrunde parallel zum Forum immer schmaler wird.

    Das Interesse am Tippspiel hält sich seit Jahren leider in Grenzen...

    Wer Lust hat, kann ja die BuLi 26/27 mit tippen - ist eröffnet.

  • Das AutoIt-Tippspiel zur WM 2026! ⚽🏆

    • UEZ
    • 19. Juli 2026 um 21:42

    Auch wenn das Spiel noch läuft: da du nicht mehr einzuholen bist, gehen die Glückwünsche schon mal vorab raus – Glückwunsch zum Sieg im WM-Tippspiel!

    :thumbup:

    :klatschen:

  • Das AutoIt-Tippspiel zur WM 2026! ⚽🏆

    • UEZ
    • 18. Juli 2026 um 21:32

    Er ist nicht mehr einzuholen. 😉

  • Wasserwellen Effekt

    • UEZ
    • 10. Juli 2026 um 19:40

    Vor einigen Jahren habe ich in FreeBASIC einen Wasserwellen-Effekt geschrieben. Inspiriert durch einen Beitrag im US Forum von wakillon habe ich den Code nun in eine DLL umgeschrieben, um ihn beispielsweise in AutoIt nutzen zu können:

    [Blockierte Grafik: https://i.ibb.co/dsh50zpL/Capture-20260710-191433-anim.webp]


    Alle Dateien herunterladen und die Demo starten. Je nach Architektur wird die DLL extrahiert und benutzt.

    Um die DLL und das eingebettet Bild zu extrahieren, wird mind. Win8 vorausgesetzt, da die Cabinet.dll benutzt wird.

    Dateien

    Water_dll.au3 47,82 kB – 46 Downloads Water.au3 18,54 kB – 47 Downloads Water_DLL_Demo.au3 46,81 kB – 51 Downloads
  • Das AutoIt-Tippspiel zur WM 2026! ⚽🏆

    • UEZ
    • 30. Mai 2026 um 13:50

    Moin zusammen,

    es ist wieder so weit – die nächste WM steht vor der Tür! Und was wäre ein großes Turnier ohne unser traditionelles AutoIt-Tippspiel? 😉

    Wer Lust und Bock hat, ein bisschen mitzufiebern und die Tipp-Krone zu jagen, ist herzlich eingeladen. Alles völlig ungezwungen – der Spaß steht wie immer im Vordergrund (und vielleicht ein bisschen die Ehre, die Kollegen zu übertrumpfen). Je mehr Leute wir werden, desto lustiger wird’s!

    Einfach hier kostenlos registrieren, tippen und dabei sein: 👉 https://www.kicktipp.de/autoit-em-wm/

    Man sieht sich in der Tipprunde! ✌️


    PS: die WM startet am 11.06.2026 und endet mit dem FInale am 19.07.2026


    Sieger: AspirinJunkie :klatschen:


  • AudioCaptureWrapper Tester

    • UEZ
    • 22. Mai 2026 um 22:59

    Ich kann das Micro / Systemsound aufnehmen, aber nicht die Gegenseite beim Telefonieren.

    Vielleicht funktioniert es damit. VBCABLE_Driver_Pack45.zip -> habe es nicht probiert.

    Dateien

    VBCABLE_Driver_Pack45.zip 1,32 MB – 100 Downloads
  • AudioCaptureWrapper Tester

    • UEZ
    • 7. Mai 2026 um 10:31

    gmmg vielen Dank für's Testen. Aktuell gibt es noch Probleme, wenn die Quelle beim Aufnehmen neu initialisiert wird, dann gibt's Driftings.

  • AudioCaptureWrapper Tester

    • UEZ
    • 6. Mai 2026 um 12:58

    Danke für's Testen - welches OS? Win7 SP1 ist minimum. Wurde während der Aufnahme Musik abgespielt?

  • AudioCaptureWrapper Tester

    • UEZ
    • 6. Mai 2026 um 11:31

    Moin,


    könnt ihr bitte testen, ob die Audio Aufnahme (Loopback + Mic) auf eurem PC funktioniert? Während der Aufnahme bitte irgendeine Audio Datei abspielen und ins Micro sprechen, falls vorhanden!


    Output sollte so aussehen:

    Code
    Audio_Init OK. Aufnahme startet fuer 5000 ms in 0.5 Sekunden...
    AAC-Frames geschrieben: 251
    Gesamtbytes           : 87726
    ASC (2 Bytes): [11 90]
    Fettisch: test_output.aac mit einem AAC faehigen Player oeffnen!


    Min OS: Win7 SP1


    Das Test Script (nur x64 ausführen!):


    Im Prinzip steht die MP4 Video Aufnahmen, jetzt noch mit AAC Audio...:)


    DANKE!

    Dateien

    AudioCaptureWrapper.au3 137,47 kB – 128 Downloads
  • SciTETabHook build 2026-04-21 beta

    • UEZ
    • 8. April 2026 um 12:36

    Genau, das ist das Problem mit den AV Tools, dass sie aufgrund der in Autoit geschriebenen Malware sensibel auf Non-Standard Autoit Script Code reagieren.

    Da ich immer mit dem Firmen Notebook arbeite , kann ich leider nicht den AV abstellen, zumal noch parallel CrowdStrike Falcon Protection still im Hintergrund arbeitet und ich hin und wieder Mails von der Security bekomme und ich mich rechtfertigen muss, warum ich das Tool / Script benutze und was das mit der Firma zu tun hat.

    Wie auch immer - ich wollte es nur erwähnen, da bestimmt auch andere dein Tool nicht benutzen, da AV ein False-Positve Alert auslöst.

  • SciTETabHook build 2026-04-21 beta

    • UEZ
    • 1. April 2026 um 12:21

    Apropos SciTEHopper - MS Defender mag dein Code v1.0.5.7 nicht -> Trojan:AutoIt/Prcablt.SD!MTB.

  • SciTETabHook build 2026-04-21 beta

    • UEZ
    • 29. März 2026 um 16:48

    Merci beaucoup für deine Rückmeldung. 😊

    Zitat von wakillon

    Wie immer ist das Ergebnis bei Ihnen perfekt!

    Nun ja, perfekt würde ich dazu nicht sagen.

    Aktuell versuche ich SciTE in der Dark Mode zu versetzen, wenn ich schon mal dabei bin, den Editor zu hooken. Mal sehen, wie viel Aufwand das in Freebasic sein wird.

    Ist anscheinend gerade Mode...

    Zitat von wakillon

    (I hope that Bing Translator has not distorted my words)

    Tu peux me tutoyer. ;)

    SciTEHopper ist immer noch die Versio von 2017!?

  • Adjustment UDF — Ausgleichungsrechnung für AutoIt

    • UEZ
    • 25. März 2026 um 20:01

    Funzt :thumbup:

  • Adjustment UDF — Ausgleichungsrechnung für AutoIt

    • UEZ
    • 25. März 2026 um 13:49

    Ich habe das Zip entpackt und InteractiveCircleFit.au3 aus SciTE gestartet.

    OS: Win11 24H2 x64

    Autoit: 3.3.18.0

    Ausgeführt als Standard x86. Wenn als x64 ausgeführt, dann kein Crash!

  • SciTETabHook build 2026-04-21 beta

    • UEZ
    • 25. März 2026 um 13:44

    Hier meine Version zum Einfärben des aktiven / veränderten(*) SciTE Tabs.

    Zum Hooken wird eine DLL verwendet, die ich in Freebasic geschrieben habe, da durch Virtual Address Space dies nicht aus Autoit direkt möglich ist. Die DLL injiziert sich in den SciTE Speicher und das Autoit Skript kommuniziert mit der DLL, die wiederum die Tabs einfärbt. Über das TrayIcon kann man das Programm beenden.

    Es ist mir gelungen, die Größe der DLLs auf etwa 6 KB zu reduzieren, und wenn man sie mit UPX komprimiert, sollten sie noch kleiner werden.

    Source Code + DLLs hier auf meinem OneDrive: SciTETabHook

    AutoIt: SciTETabHook.au3
    ;Coded by UEZ build 2026-04-21 beta
    ;It is important to run AutoIt on the same architecture as SciTE!
    
    #pragma compile(FileVersion, 0.3.1.0)
    #pragma compile(ProductVersion, 3.3.18.0)
    #pragma compile(LegalCopyright, "UEZ 2026")
    #pragma compile(CompanyName, "UEZ Software Development")
    #pragma compile(FileDescription, "SciTETabHook - a simple tool to colorize tabs in SciTE.")
    #pragma compile(Icon, "shell32dll.0252-32x32.ico")
    
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Run_Au3Stripper=y
    #Au3Stripper_Parameters=/so /pe ;/rm
    #AutoIt3Wrapper_OutFile_X64=SciTETabHook64.exe
    
    #include <Misc.au3>
    #include <TrayConstants.au3>
    #include <WinAPISysWin.au3>
    #include <WinAPIProc.au3>
    
    Global $iPID = ProcessExists(@ScriptName)
    If Not _Singleton(@ScriptName, 1) Or ($iPID <> @AutoItPID And $iPID <> 0) Then Exit MsgBox(16, "ERROR", "An occurence of " & @ScriptName & " is already running!", 20)
    
    ; Load the appropriate DLL based on AutoIt's architecture
    If Not FileExists(@AutoItX64 ? @ScriptDir & "\SciTETabHook_x64.dll" : @ScriptDir & "\SciTETabHook.dll") Then
    	If @AutoItX64 Then
    		_SciTeTabHook_x64dll(True)
    	Else
    		_SciTeTabHookdll(True)
    	EndIf
    EndIf
    	
    Global $hDLL = DllOpen(@AutoItX64 ? @ScriptDir & "\SciTETabHook_x64.dll" : @ScriptDir & "\SciTETabHook.dll")
    If $hDLL < 1 Then Exit MsgBox($MB_ICONERROR, "ERROR", "Unable to load SciTETabHook DLL!", 10)
    
    OnAutoItExitRegister("_CleanupSciTEHook")
    AutoItSetOption("TrayMenuMode", 3)
    Global Const $idTrayExit = TrayCreateItem("Exit")
    Global Const $iTrayAutostart = TrayCreateItem("Autostart")
    TraySetState($TRAY_ICONSTATE_SHOW)
    If RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Run", "SciTETabHook") = '"' & @ScriptDir & '\SciTETabHook' & (@AutoItX64 ? '64' : '') & '.exe"' Then TrayItemSetState($iTrayAutostart, $TRAY_CHECKED)
    
    ; Message constants, matching the FreeBASIC DLL definitions
    Global Const $WM_USER_HOOK_INIT 		= $WM_APP + 0x0450
    Global Const $WM_USER_SET_COLORS 		= $WM_APP + 0x0451
    Global Const $WM_USER_UNHOOK 			= $WM_APP + 0x0452
    Global Const $WM_USER_APPLY_DARK		= $WM_APP + 0x0453
    
    Global $bSciTE_Hooked = False, $iPID = 0, $bSciTEIsx86, $sSciTEArch, $sAutoItArch, $iTID, $hSciTE, $hSciTE_Exit, $bCheckAutostart
    Global $cActiveTab	  = _RGBtoBGR(0x3030C0)
    Global $cInactiveTab  = 0xF0F0F0           
    Global $cText 		  = 0x000000           
    Global $cTextSel	  = 0xFFFFFF          
    Global $cUnsaved 	  = _RGBtoBGR(0xFFC0C0)
    Global $cUFrameSel 	  = _RGBtoBGR(0x408040)
    Global $cUFrame 	  = 0xE5E5E5
    
    ConsoleWrite("Waiting for SciTE..." & @CRLF)
    
    While True
    	; 1. Check Tray Menu
    	Switch TrayGetMsg()
    		Case $idTrayExit
    			ExitLoop
    		Case $iTrayAutostart
    			$bCheckAutostart = BitAND($TRAY_CHECKED, TrayItemGetState($iTrayAutostart))
    			If $bCheckAutostart Then
    				TrayItemSetState($iTrayAutostart, $TRAY_UNCHECKED)
    				AutoStartReg(False)
    			Else
    				TrayItemSetState($iTrayAutostart, $TRAY_CHECKED)
    				AutoStartReg(True)
    			EndIf
    	EndSwitch
    
    	; 2. Check if SciTE window exists and verify architecture
    	$iPID = WinGetProcess("[CLASS:SciTEWindow]")
    	$bSciTEIsx86 = _WinAPI_IsWow64Process($iPID)
    	$sSciTEArch = $bSciTEIsx86 ? "x86" : "x64"
    	$sAutoItArch = @AutoItX64 ? "x64" : "x86"
    
    	If $sSciTEArch = $sAutoItArch Then
    		$hSciTE = WinGetHandle("[CLASS:SciTEWindow]")
    
    		; CASE A: SciTE is present but not yet hooked
    		If ($hSciTE <> 0) And (Not $bSciTE_Hooked) Then
    			; Give SciTE a brief moment to initialize the tab control internally
    			Sleep(100)
    
    			$iTID = _WinAPI_GetWindowThreadProcessId($hSciTE, $iPID)
    			DllCall($hDLL, "bool", "InstallHook", "dword", $iTID) 
    
    			; Initialize subclassing within the DLL
    			_SendMessage($hSciTE, $WM_USER_HOOK_INIT, 0, 0)
    
    			; Apply desired colors (Standard RGB Hex values converted to BGR)
    			_SetSciTeTabColors($hSciTE, $cActiveTab, $cInactiveTab, $cText, $cUnsaved, $cUFrame, $cTextSel, $cUFrameSel)
    
    			$bSciTE_Hooked = True
    			ConsoleWrite("SciTE detected and successfully hooked!" & @CRLF)
    
    			; CASE B: SciTE is gone, but our status is still set to "hooked"
    		ElseIf $hSciTE = 0 And $bSciTE_Hooked Then
    			; Safety first: remove the hook from the system
    			DllCall($hDLL, "bool", "UninstallHook")
    
    			$bSciTE_Hooked = False
    			ConsoleWrite("SciTE closed. Waiting for restart..." & @CRLF)
    		EndIf
    	Else
    		MsgBox($MB_ICONERROR, "ERROR", "No cross-architecture DLL-loads possible!" & @CRLF & _
    				"Script / SciTE architecture must match!" & @CRLF & @CRLF & _
    				"SciTE: " & $sSciTEArch & @CRLF & _
    				"Script: " & $sAutoItArch, 10)
    		Exit
    	EndIf
    
    	Sleep(30)
    WEnd
    
    ; Cleanup when exiting the AutoIt script
    Func _CleanupSciTEHook()
    	If $bSciTE_Hooked Then
    		$hSciTE_Exit = WinGetHandle("[CLASS:SciTEWindow]")
    		If $hSciTE_Exit Then
    			_SendMessage($hSciTE_Exit, $WM_USER_UNHOOK, 0, 0) ; Remove subclassing
    			Sleep(50)
    			If $hDLL > 0 Then DllCall($hDLL, "bool", "UninstallHook") ; Remove hook
    			Sleep(50)
    			; Force SciTE to process the queue (triggers deferred FreeLibrary)
    			_SendMessage($hSciTE_Exit, $WM_NULL, 0, 0)
    			Sleep(50)
    			_SendMessage($hSciTE_Exit, $WM_NULL, 0, 0)
    		EndIf
    	EndIf
    	If $hDLL > 0 Then DllClose($hDLL)
    	ConsoleWrite("SciTE hooking terminated." & @CRLF)
    	ConsoleWrite("Bye." & @CRLF)
    EndFunc
    
    Func AutoStartReg($bSet)
    	Switch $bSet
    		Case True
    			If RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Run", "SciTETabHook", "REG_SZ", '"' & @ScriptDir & '\SciTETabHook' & (@AutoItX64 ? '64' : '') & '.exe"') Then
    				MsgBox($MB_ICONINFORMATION, "Information", "Autostart entry properly set to the registry", 10)
    			Else
    				MsgBox($MB_ICONERROR, "ERROR", "Unable to set autostart entry to the registry!", 30)
    			EndIf
    		Case Else
    			If RegDelete("HKCU\Software\Microsoft\Windows\CurrentVersion\Run", "SciTETabHook") Then
    				MsgBox($MB_ICONINFORMATION, "Information", "Autostart entry properly removed from the registry", 10)
    			Else
    				MsgBox($MB_ICONERROR, "ERROR", "Unable to remove autostart entry from the registry!", 30)
    			EndIf
    	EndSwitch
    EndFunc   ;==>AutoStartReg
    
    Func _SetSciTeTabColors($hSciTE, $iSelColor, $iBgColor, $iTextColor, $iUnsaved, $iFrameColor, $iTextSelColor, $iFrameSelColor)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 0, $iSelColor)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 1, $iBgColor)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 2, $iTextColor)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 3, $iUnsaved)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 4, $iFrameColor)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 5, $iTextSelColor)
    	_SendMessage($hSciTE, $WM_USER_SET_COLORS, 6, $iFrameSelColor)
    EndFunc   ;==>_SetSciTeTabColors
    
    Func _RGBtoBGR($iColor)
    	Return BitOR(BitShift(BitAND($iColor, 0x0000FF), -16), BitAND($iColor, 0x00FF00), BitShift(BitAND($iColor, 0xFF0000), 16))
    EndFunc   ;==>_RGBtoBGR
    
    ;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2020-06-05
    
    Func _SciTeTabHook_x64dll($bSaveBinary = False, $sSavePath = @ScriptDir)
    	Local $SciTeTabHook_x64dll
    	$SciTeTabHook_x64dll &= 'GbgATVqQAAMAAACCBAAw//8AALgAOC0BAEAEOBkAgAAMDh8Aug4AtAnNIbgAAUzNIVRoaXMAIHByb2dyYW0AIGNhbm5vdCAAYmUgcnVuIGkAbiBET1MgbW+AZGUuDQ0KJASGAFBFAABkhgUAEPyA52kFV/AALoAiCwICIgAIAAz1AQMCAAMQBAMJBQAXAbctAQAFAiQAAGADzOSL4gAC1wAAIAMXAzUHCBcGDwQFAHjsAkgAAKSDAxxKAARRAADImA8gLnRleHSAA+gHDwRIgXsFbgQAIABQYMAucmRhdGGEWQFtBQF7DIsTQABQQC4oYnNzhuMwld9QwLwuZcMTwj4BC8ETDs0T8DBALmnDCcJGwEjCJvvIUMQJwH9KPwA/AD8APwADPwAhAP/KdU3HBQIKIEmI0IgAxwWk8B/gOIBAIAHiIAGo5eXlIAHkIAH/gIMYxwXeIAEBAMcFzFEgAfDw8CABtqEDwEDAAEiJDc9AAYMAyP/DRTHJTI0ABaEPAAAx0ukA+gYAAEFUV0gAiddWSInOU0wAicNIg+woSIUgyQ+IpQFAA4tAABA9UIQAAHQJBD1RwAB1b+t9g0Q9gAEND4WEAARJIItIGOiq4A9JiYDESIXAD4RvgAIlwAswIFC6/OACSIkgwUiJBWMgBuhWW2ANYAFPYAFCBURBBYkE4UGAEjHSxwUnMQMZ/+hG4ATgAum0iaAMPVKgDg+FGUAFhOmr4AFJi0AIgAcAdAhIg/gBdQ0A6xNJiwCJBeygHgAA62ZAAgJGAqrNQQJTQAIDRgLCQQKqQEACBEYCm0ECLUACqgVAAhxCApBBAhpAAqgGdRQCAnsBAglCAcJ8QAFIiw2VwQBAJIyEgiASwxfokQVCAxJ6QAPoVWAB62mDRD1YgAEAdGDAAmOBIwZ0VEyLBU9gAUpNQBhI4iPoQAMHQaugAkQJRiMCL0EJCmABGMcFDAEJAABIxwWKDUcBCkUBiw0L4QsAg8QoSYnZ'
    	$SciTeTabHook_x64dll &= 'ifIAW0mJ+F5fQVwE6T2AB1VIieVBAFdBVkmJzkFVAEFUSYnUugoTIAAAV1ZMxT3k8BBIgeyQIItIx0QEJEgBCkyNfCRIA6EBQYkATYn56KMLwDliNvLCO0wkaDEIwLkK4TGJ2EyJQM9MjawkkKABuiIFQAvzq7lhz0yJAO9MiWwkePOrKEyJ8WAJaCAHAMeUhCRhA/9gAehPYAoQiw0xHSALOfN0EAaLDRpAATHAQWSAfMAWdQfADWAyLiBI/8BIPeEFdeZAMdKAvASPwAcqgA+UwjHA99rgBoAPlcD32IXCwQcUzxyACoKACkyJ+gHAR0mJwEiJRCQoOOgfQQKLIAFMiQjB6FqAAUSLBatTYAWgB3UHYAGbYAG6IYETMcnoS8IH4UiAicJJicfoFYIFCEQkVEFmieGLVGugIsACBsQCTAEC4ALoNv3AruABUIICAAKNUKj/6OloAlRkAtVgAlJIghPoukABTAAryingALoxwiXxoAxFMUDARTH26DQCBcIVAV0L0QKM8ABJicaLUgrxAHTBBRXyG0MMsAaLFeOgAIEBU2EFEeAZWA8QsBxBuP5BECZMicm6+nIATAAkOA8RRCRY6BLs0B5Mi+AATInqM2AD0BkgJXAZ8Sfo+FGwAU2F9oEH8iEFECGxCI1lyFshJUFdAEFeQV9dw4M9onwQBwB0S7Anh2EItbAtP7Atc7AAsS0zUUTF8y1g8ATHBUrhAmMrGkunAEilAKArw8NBElYRKldWUDvsOIGC+pE/dBBJicxQKgBNic2D+g91DxDrIeiBQAVFMe0E6XLAEIP6FA+FSWFCQb2hEeleUAC6GvBRBxJQBxAgqEB0YBFJg+C/QgHRDNKRMkdsJCCQMkG4MFBIADH2MAy7GmEB4ozoA4ERsSPF6NiQAhkTGboEUC1SAcbomoVXAQtTAUiJw+iRUAhI/8vAIUg53n+AFkmJ8EmJ+fQTgntQEEj/xuvl9AAKYKFMtYAHg/pOdCAV'
    	$SciTeTabHook_x64dll &= 'TIs1P7AHgfoHoUQgVVAA6zdBgXmAENn9//91ExRBcjSTUuj88h/QCyALCEdgA0AMUAtBuE5hA1xQgz3nGUEZQuEbPehNifADGN9FAyIPcQZYxwW7gQIzGLynALnNpADrsB/0AonQAAawKbTo6cI+xZAaQCPoxiDJ8EM9jWEDdTYhHyAgAmjQAEGJyUiNFSCk+f//uZGI6FTl8QWF8DgFYtABMDsBH7QPtqA7wxFp0AxKcAG1QSQZUQToEDnxCDGlCQPhIYEC/yWmOgAAoJCQ/yWWdACGdACqdnQAZnQAVnQARnQAqjZ0ACZ0ABZ0AAZ0AFT2OXMA5nQA1nQAxlV0AK50AJ50AI50AH5VdABudABedABOdAA+P3MABAB2ffwADwADAFNjAGlUZVRhYkN0/HJs3wEPAA8ADwAPAA8A/w8ADwAPAA8ADwAPAA8ADwD/DwAPAA8ADwAPAA8ADwAPAH8PAA8ADwAPAA8ADwC113hX8L9BTmXXKPAASDAAaGUwAGb010MSAH9wAKMAFgAAmRQAAO5VMADnsACNMAKZMAChVTAArzAAuzAAxzAA1lUwAN5CyAGgxQNgwwUQAAYAB3YnSG9vAGtfeDY0LmRsAGwAQ2FsbFduAGRQcm9jAERsAGxNYWluAERygGF3U2luZ2zRAhAAR2V0lQMASW4Mc3QAAxEEAFJlbQBvdmVTdWJjbI5hgM/gAUIEVW5pSAL/DwAPAA8ADwAPAA8ADwAPAP8PAA8ADwAPAA8ADwAPAAMAqrEIPFAABgBQUwAAoARRAACECJiYAExWTABMEQDMBFzYBA7spQQO/AQOBlIDDhIEDloiBA4uBA4FAD4ED1BVBAdiBAduBAd6BAeKVQQHkgQHpgQHtAQHxlUEB9IEB+IEB/YEBwobAMsBACAEB83HMwRDAHJlYXRlUGVuBAA9hAVTb2xpZCBCcnVzaIAfBEQAZWxldGVPYmoAZWN0AABJBkwAaW5lVG8AAFcQBk1v'
    	$SciTeTabHook_x64dll &= 'dkACRXgAkAC8BlNACWN0RQkCxMADdEJrTW9kCGUA68ECVGV4dABDb2xvcgAAH0AAQ2FsbE4ABEgob29rQQ8gQgRXaQBuZG93UHJvYwBBANgARHJhdwEBDUEADQFGaWyUbFLCFQ/AAm5kQwoARXhBAD8BR2VgdERDANbBAYMFTABvbmdQdHJBAMD3AUluZmyAM4IOwAoCSW52YcA1BQQQANkCUsAsYXNlAcAP7QJTZW5kTYBlc3NhZ2VBQK9WA8AszBNYxwRzQy5BwACFA1VuaMACigXgAJoDVXDBGUMFAXcB2wBHREkzMi5kNGxsgAMUwAP1AFVTHEVSBhI/ABYA'
    	$SciTeTabHook_x64dll = _WinAPI_Base64Decode($SciTeTabHook_x64dll)
    	If @error Then Return SetError(1, 0, 0)
    	Local $tSource = DllStructCreate('byte[' & BinaryLen($SciTeTabHook_x64dll) & ']')
    	DllStructSetData($tSource, 1, $SciTeTabHook_x64dll)
    	Local $tDecompress
    	_WinAPI_LZNTDecompress($tSource, $tDecompress, 5120)
    	If @error Then Return SetError(3, 0, 0)
    	$tSource = 0
    	Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    	If $bSaveBinary Then
    		Local Const $hFile = FileOpen($sSavePath & "\SciTeTabHook_x64.dll", 18)
    		If @error Then Return SetError(2, 0, $bString)
    		FileWrite($hFile, $bString)
    		FileClose($hFile)
    	EndIf
    	Return $bString
    EndFunc   ;==>_SciTeTabHook_x64dll
    
    Func _SciTeTabHookdll($bSaveBinary = False, $sSavePath = @ScriptDir)
    	Local $SciTeTabHookdll
    	$SciTeTabHookdll &= 't7cATVqQAAMAAACCBAAw//8AALgAOC0BAEAEOBkAgAAMDh8Aug4AtAnNIbgAAUzNIVRoaXMAIHByb2dyYW0AIGNhbm5vdCAAYmUgcnVuIGkAbiBET1MgbW+AZGUuDQ0KJASGAFBFAABMAQYAEHB652kFV+AADoAjCwECIgAIAAxqCgADAgADEAQDAwAQtwILABcBtwEEvwIAcAMMiA6+AALXAAAgBDcvAAQEPwIGAODoAoAAAIbYgS8VAGAAAKyghRUNAKCAK2SYDy50ZfR4dIFOBwRIgXUGYgMAACAAMGAucmRhXHRhhFkAZYKFDIsTQIAAMEAuYnNzgQWGMAYCkdcwwC5lgyfXgn0B8sETDtATacMJwkYPwDLCJsdfxQnALnJluGxvY8RIwErCExTOCf5CsFA/AD8APwA/AD8AGAAAg3wkCAF1T8cABRgwABCI0IgAAItEJATHBQgBoAFAgEAAxwUEUSAB5eXlIAEQIAH/MWCExwUUIAGBB8cFYgwgAfDw8CABgE4QQP/AwACjIAABgwDI/8IMAIPsDAhqAGigVhBqAP9AdCQc6DcGAA7EAAzCBABXVlOLAHwkEItcJBiFEP8PiHhAeItDCAA9UIQAAHQJPQJRwAB1Zetzgz1iHCEND4VY4AOgCf8wcwzop0AQYAiFwCCJxg+EQOACoyghYARQaH8UwAz8VgDomwUAAFqFwESjJKACD4QfAARQgGr/agBWxwVhCRGAB//okEAEUFBWJOmYQBg9UmAND4US90AB6Y+AAItDBACFwHQHg/gBdUAL6xCLA6PhIuswVYP4AuQBIR7rRRiD+APkAWEh6zWDDPgE5AHhIOslg/gaBeABF+ABISnrFYOY+AZ1oQOhKesHAAFNgSmhIRegDX1SIRRQhOj4YGxRUf81wQIk6LuAAetgJCB0WhFlBVGLFSEbhdJ0AEdRUmr8UOirl+AEwQfEBrTAAVZWhAH+d4AB4x6jNSEHIwHBA8I/CMQM'
    	$SciTeTabHookdll &= 'U0AzGFf/NYosIQa1IAZbXl+ANyBVMcBXuYF+VlMIgexMoHqLtCRoAcAAjVQkBInXiwicJGSAAfOrUlaIaAoTQMe0JGzgAQToJSAGhcAPhMwD4C4gBSgxwInXuSegPiAFwAFAuUHGiVQAJDCNbCQkidfA86vHRCQkwbfgAIQ0/wABVVZoBcgJUtZAuIsVQTA7IwJ0CAaLFSEwMcCAfAAEQAB1BoXAdSAK6yxAPYEHdesEMcnAAj8qD5TBEDHA99lkBg+VwHD32IXBQQeBM+BIUgToBeAUicVQUFUAjUQkHFBT6KVBAA1YWlXo5eAAoUdBNgAjxAd1BaGhNlGAUGoBagDo1AAEIlcgB1PooiABiccUWFpiWxRgAAxT6NqWYAJRQQHDAY/AASEBqWBqFEhABn/jARTlAYJv4AFQV1PoV+EAYFUx7ehmAAEgD2pqACAAMYUg0YAAID8NFFdXQAYsoQ7FWFpiUMARU+gWwRUhUFqmWacVQUtWVmAF8OABwUI4jXwkHI3gEEAfQPOlav5q+oABMAhW6JDgA19YaCVRQBlWav+QEFhAA6MjQAHxNe10C+ARU+jCu/AAWlmBxCEgkCFQXcIQAEUpQUUpOKFGKS6D7BBiKRTgAkOvJ6snEMPDVYBAg2TsHAARNIswCTBBOA0wQTxSOVE4D3UO6wgf6ItQOzHb6TlBUUD4FA+Fm+ADuwlhI+km8T1QavBWBOjLkABaqEBZdLAOg+C/wBogAZAgAcJdMA9TV2oPIDEhCILogSlWicPopLEEkMQMicWxFmgEMCdoVuhoMAFqMB0AAQuFAgFXUSxX/zH/ICsECDuQUn8UUIlEACQQV0dVVujbiPz//3ALDOvmcBIIVugzsAJYWumVgZEN+E50Dz2C0UQCLUEHdXHrL4F7AAjZ/f//dRZR2dJI6AzBLmAD1EM4UwpSTlQK60glFjdwGDN0UFWBTcLSEx8VFxVSkFJTV2hhB+sG8gSgUFZV6NwBN8MR'
    	$SciTeTabHookdll &= 'BjDEHInYBhzBPgB1I9AakSoQ/zVBW2h3oVCVagToUSADowECyYA8lcCgAw+2ADRAWw1RXQTwOLIB0nQXg+DsGFLoGyII8gSiDAQYw2ACw5D/JfxQUAAQkHAA+HQA9FV0APB0AOx0AOh0AORVdADgdADcdADYdADUVXQA0HQAzHQAyHQAxFV0ALx0ALh0ALR0ALDVdACsdACodACkdAAQm/9xABFusrBzAA8ADwAPAA8A/w8ADwAPAA8ADwAPAA8ADwABBQBTY2lUZVRh4GJDdHJs3wEPAA8A/w8ADwAPAA8ADwAPAA8ADwD/DwAPAA8ADwAPAA8ADwAPAP8PAA8ADwAPAA8ADwAPAA8Aew8Atdd48MBRVaHIMQAodfAASDAAaDAAsEHyvxkQEgAAXHAA9RUAjAA0cL5glwAyFjBGVTAClTAAnTAAqzAAt1UwAMMwANIwANrC5AEFoMEDYMQFAAYABwF2J0hvb2suZGwAbABDYWxsV24IZFBy0MREbGxNAGFpbgBEcmF3IFNpbmdskQIARwRldFUDAEluc3QDAAPRAwBSZW1vdoBlU3ViY2xhQNDj4AFCBFVuaUgCDwAPAP8PAA8ADwAPAA8ADwAPAA8APw8ADwAPAA8ADwAHAIGyCDxQAAYAhFIAAKqgAHhgCJjMAEzECDxBCQAEUQAAEAAGJFUABjQABj4ABkoABlqtAAZmAAYBAHYADogABqqaAAamAAayAAbCAAaqygAG3AAG6gAD/AADqggAZxgAAyoAAz4AAwZUAANlYz0AQ3JlAGF0ZVBlbgBGAYQFU29saWRCcgB1c2gAAEwARABlbGV0ZU9iagBlY3QAAP8ATABpbmVUbwAAAhABTW92gARFeACQADIBU4ASY3SFEgI5gAd0QmtNb2QIZQBdgQVUZXh0AENvbG9yAAAeQABDYWxsTgAISChvb2uBHh+CCFdpAG5kb3dQcm9jAEEA1wBEcmF3AQEaQQAJAUZpbJRsUoIr'
    	$SciTeTabHookdll &= 'C4AFbmSDFABFeEEAOAFHZWB0REMAyIEDAwtMAG9uZ0EAAOgBsEluZmwAZgIc9IAGDHZhgGoFCACvAlIRgFhhc2VAD8ECUwBlbmRNZXNzYWRnZcAOGQNALEoTJAVHBHNDLUEAWANVDG5owAKKBQBsA1U+cEEZQwUAWMGP2ABHRIBJMzIuZGxsgAOGFMAD9QBVU0VSBhIfPwA/AD8APwAdABAAAAKswAAJMBcwITAAKzA1MD8wSTAAUjBiMJ8wwzAAyTDZMOswITEAMTFBMVExYTEAbzF4MX0xlDEAoTGpMbMxyzEA2DHjMe0x9zEACjKkMrMy7jIAFDMlM8Mz0zMANjQ+NEg0XjQAaDRyNOs0YDUAkTWZNbA1ujUAxDX3NQc2DDYAGDY0Nkc2WjYAYjZqNnI2ejYAgjaKNpI2mjYAojaqNrI2ujYAwjbKNtI22jYA4jbqNvI2+jbwAjcKN18ZHwAfAB8APx8AHwAfAB8AHwAfAAAA'
    	$SciTeTabHookdll = _WinAPI_Base64Decode($SciTeTabHookdll)
    	If @error Then Return SetError(1, 0, 0)
    	Local $tSource = DllStructCreate('byte[' & BinaryLen($SciTeTabHookdll) & ']')
    	DllStructSetData($tSource, 1, $SciTeTabHookdll)
    	Local $tDecompress
    	_WinAPI_LZNTDecompress($tSource, $tDecompress, 5632)
    	If @error Then Return SetError(3, 0, 0)
    	$tSource = 0
    	Local Const $bString = Binary(DllStructGetData($tDecompress, 1))
    	If $bSaveBinary Then
    		Local Const $hFile = FileOpen($sSavePath & "\SciTeTabHook.dll", 18)
    		If @error Then Return SetError(2, 0, $bString)
    		FileWrite($hFile, $bString)
    		FileClose($hFile)
    	EndIf
    	Return $bString
    EndFunc   ;==>_SciTeTabHookdll
    
    Func _WinAPI_Base64Decode($sB64String)
    	Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    	If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    	Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    	$aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    	If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    	Return DllStructGetData($bBuffer, 1)
    EndFunc   ;==>_WinAPI_Base64Decode
    
    Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize)
    	$tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    	If @error Then Return SetError(1, 0, 0)
    	Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    	If @error Then Return SetError(2, 0, 0)
    	If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    	Return $aRet[6]
    EndFunc   ;==>_WinAPI_LZNTDecompress
    Alles anzeigen
  • Adjustment UDF — Ausgleichungsrechnung für AutoIt

    • UEZ
    • 25. März 2026 um 13:33
    Zitat von AspirinJunkie

    Ok für die Fraktion, für die das (zu Recht) noch etwas zu abstrakt ist, habe ich mal ein weiteres Beispiel dem Example-Ordner hinzugefügt: InteractiveCircleFit.au3 (und das sogar auf deutsch!...)

    Mit dem Skript klickt der User beliebige Punkte auf der Zeichenfläche und das Skript gleicht über diese Punkte einen bestanpassenden Kreis aus.
    Das Beispiel eignet sich meiner Meinung nach sehr gut da man hiermit schnell viele Dinge der Ausgleichungsrechnung visualisieren kann:

    - was sind Beobachtungen, was sind Parameter?
    - was sind diese "Residuen"?
    - was bedeuten die Standardabweichungen?
    - was genau wird da eigentlich "ausgeglichen"?
    - was bedeutet "robuste Ausgleichung"?

    Einfach mal herumspielen damit (neues Release liegt auf Github).

    Hinweis zur Urheberschaft: Da ich nicht so der visuelle Typ bin und von Grafik in AutoIt null Ahnung habe, habe ich mich für dieses Beispielskript intensiv Claude bedient.
    Ich bin vom Ergebnis sehr angetan und freue mich, dass auch Claude die Verwendung meiner UDF komplett verstanden hat.

    Alles anzeigen

    Bekomme eine Speicherschutzverletzung (0xC0000005 / -1073741819), sobald ich den 3. Punkt setze.

    Super Arbeit :thumbup:

  • JIT.au3 - C-Code direkt aus AutoIt kompilieren und ausführen

    • UEZ
    • 9. März 2026 um 22:27
    Zitat von AspirinJunkie

    Was meint ihr dazu?

    Why not. Können wir gerne testen.


    Apropos testen:

    AutoIt
    #AutoIt3Wrapper_UseX64=y
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include "..\JIT.au3"
    
    AutoItSetOption("GUIOnEventMode", 1)
    
    Global $hCRT = DllCall("kernel32.dll", "handle", "LoadLibraryW", "wstr", "ucrtbase.dll")[0]
    Global $pSin = DllCall("kernel32.dll", "ptr", "GetProcAddress", "handle", $hCRT, "str", "sin")[0]
    Global $pCos = DllCall("kernel32.dll", "ptr", "GetProcAddress", "handle", $hCRT, "str", "cos")[0]
    Global $pPow = DllCall("kernel32.dll", "ptr", "GetProcAddress", "handle", $hCRT, "str", "pow")[0]
    If Not $pSin Or Not $pCos Or Not $pPow Then Exit MsgBox(16, "Fehler", "Math-Pointer nicht gefunden!")
    
    Global $sCode = _
    'typedef double (*MathFn1)(double);'                                               								& @LF & _
    'typedef double (*MathFn2)(double, double);'                                       								& @LF & _
    'CALLCONV void RenderDwitter(unsigned int* ptr, int iW, int iH,'                   								& @LF & _
    '    MathFn1 fsin, MathFn1 fcos, MathFn2 fpow, double t) {'                      								& @LF & _
    '    int i, px, py;'                                                               								& @LF & _
    '    double y, k, e, d, q, P;'                                                    								& @LF & _
    '    int l = 840, l1 = (l >> 1), l2 = (l >> 2);'                                   								& @LF & _
    '    for (i = iW * iH - 1; i--;) ptr[i] = 0xF0202020;'                	     									& @LF & _
    '    for (i = 20000; i-- > 0; ) {'                                                 								& @LF & _
    '        y = (double)i / l;'                                                       								& @LF & _
    '        k = (4.0 + fsin(y * 2.0 - t) * 3.0) * fcos((double)i / 29.0);'		       								& @LF & _
    '        e = y / 8.0 - 11.0;'                                                      								& @LF & _
    '        d = fpow(k * k + e * e, 0.66);'                                           								& @LF & _
    '        q = fsin(k * 2.0) + 0.3 / k + fsin(y / 25.0) * k * (9.0 + 4.0 * fsin(e * 9.0 - d * 3.0 + t * 2.0));' 	& @LF & _
    '        P = d - t;'                                                        									& @LF & _
    '        px = (int)(q * fsin(P) + d * 39.0 - l1);'		                  										& @LF & _
    '        py = (int)(q + 30.0 * fcos(P) + l2);'            														& @LF & _
    '        if (px >=0 && px < iW && py >=0 && py <iH)'                        									& @LF & _
    '            ptr[py * iW + px] = 0xB0FFFFFF;'                               									& @LF & _
    '    }'                                                                     									& @LF & _
    '}'
    
    Global $mCode = _JIT_Compile($sCode, (@AutoItX64 ? "-O3 -ffloat-store" : "-Ofast"))
    If @error Then Exit MsgBox(16, "Fehler", "Kompilierung fehlgeschlagen")
    
    _GDIPlus_Startup()
    Global $iW = 840, $iH = Int($iW * 9 / 16)
    Global $pScan0 = DllStructCreate("ulong rgba[" & $iW * $iH & "]")
    Global $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH, $GDIP_PXF32ARGB, $iW * 4, $pScan0)
    
    Global $hGUI = GUICreate("JIT Render https://dwitter.net/d/33997", $iW, $iH)
    GUISetState(@SW_SHOW)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    
    Global $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    
    Global $fT = 0.0, $bExit
    
    Do
        DllCallAddress("none", $mCode.ptr + $mCode.Funcs["RenderDwitter"],  "ptr",    DllStructGetPtr($pScan0), _
    																		"int",    $iW, _
    																		"int",    $iH, _
    																		"ptr",    $pSin, _
    																		"ptr",    $pCos, _
    																		"ptr",    $pPow, _
    																		"double", $fT)
        _GDIPlus_GraphicsDrawImageRect($hGfx, $hBitmap, 0, 0, $iW, $iH)
        $fT += 0.05
    	If $bExit Then ExitLoop
    Until Not Sleep(10)
    
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    _JIT_Free($mCode)
    
    Func _Exit()
    	$bExit = True
    EndFunc   ;==>_Exit_About
    Alles anzeigen


    Das sollte unter x86 und x64 laufen. Bitte mal testen.

    Original JS Code:

    Java
    l = c.width = 840;
    for (i = 2e4; i--; )
      	y = i / l,
        k = (4 + S(y * 2 - t) * 3) * C(i / 29),
        e = y / 8 - 11,
        d = (k * k + e * e)**0.66,
        q = S(k * 2) + 0.3 / k + S(y / 25) * k * (9 + 4 * S(e * 9 - d * 3 + t * 2)),
        P = d - t,
        px = q * S(P) + d * 39 - l / 2,
        py = q + 30 * C(P) + l / 4,
        x.fillRect(px, py, 1, 1)
    Alles anzeigen
  • JIT.au3 - C-Code direkt aus AutoIt kompilieren und ausführen

    • UEZ
    • 9. März 2026 um 19:09

    Zuhause funzt es bei mir auch. Code oben aktualisiert.

  • JIT.au3 - C-Code direkt aus AutoIt kompilieren und ausführen

    • UEZ
    • 9. März 2026 um 15:43

    ;)


    Btw, wie bekomme ich den Binärstring Online?

  • JIT.au3 - C-Code direkt aus AutoIt kompilieren und ausführen

    • UEZ
    • 9. März 2026 um 15:11

    $__g_JIT_oHTTP ist Global, aber nicht $oHTTP - wird immer local in der Funktionen definiert.


    Meinst du vielleicht?:


    $__g_JIT_sProxy = "localhost:3128"

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™