Leaderboard
Popular Content
Showing content with the highest reputation on 09/22/2025 in all areas
-
So maybe i just haven't been looking hard enough, but i could not find how to make toast notifications in win8+ from AutoIt. I looked at it on and off, and finally made some progress. Github repository: https://github.com/genius257/au3toast Zip download: https://github.com/genius257/au3toast/archive/52f6eb0c5e6543777e19010a6c64f46e4dbe8fe0.zip I am still working on event support, but would like some feedback from the forum so far Thanks!1 point
-
win8+ toast notifications
WildByDesign reacted to genius257 for a topic
Thank you My guess is the combination of attributes used, but haven't spend much time on the XML, after i got it somewhat usable Glad to hear! Yeah in general AutoIt has been missing proper native toasts since the windows 8 overhaul, as far as i know Yeah it's a little rough around the edges currently, but i am working towards providing a good implementation little by little Happy to hear it will be used1 point -
win8+ toast notifications
genius257 reacted to WildByDesign for a topic
Oh this is nice. How did you get them to persist like that? EDIT: I've only spent about 10 minutes playing around with this, but I love it. AutoIt has really needed this because there hasn't been a solution yet for Windows 11 that has been able to have the toasts persist in the notification center like this. Fantastic work. I look forward to watching this progress over time. I definitely can make great use of this.1 point -
Smooth Color Transistions
WildByDesign reacted to argumentum for a topic
..what are the options: run in same process or span another process. Make faster small updates or make longer taking jump from color to color. I would span another process as the rainbow feature is independent of the main script. IPC seems like OMG !. About this IPC: #include <GUIConstantsEx.au3> Exit main() Func main() If StringInStr($CmdLineRaw, "/rainbowThing") Then Return rainbow() Opt("GUIOnEventMode", 1) GUICreate(@ScriptName & " - main", 300, 200) GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") GUICtrlCreateButton(" stop the other process ", 10, 10) GUICtrlSetOnEvent(-1, main_BttnStop) GUICtrlCreateInput(" something from the other process ", 10, 40, 280) GUISetState() ShellExecute(@AutoItExe, '"' & @ScriptFullPath & '" /rainbowThing') While Sleep(300) WEnd EndFunc ;==>main Func main_BttnStop() ConsoleWrite('+ Func main_BttnStop()' & @CRLF) WinClose(@ScriptName & " - rainbow") EndFunc ;==>main_BttnStop Func SpecialEvents() Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE ControlSetText(@ScriptName & " - main", "", "[CLASS:Edit; INSTANCE:1]", "good bye world @" & @HOUR & ":" & @MIN & ":" & @SEC & "." & @MSEC) GUIDelete() Exit EndSwitch EndFunc ;==>SpecialEvents Func rainbow() Opt("GUIOnEventMode", 1) GUICreate(@ScriptName & " - rainbow", 300, 100) GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") Local $idBttn = GUICtrlCreateButton(" my rainbow process ", 10, 10) ;~ GUISetState() ; or not. Is not needed While Sleep(300) GUICtrlSetData($idBttn, @HOUR & ":" & @MIN & ":" & @SEC & "." & @MSEC) WEnd EndFunc ;==>rainbow it does Interprocess communication via something else but the use is the same. You'll do fancy IPC when you get more experience1 point -
You mentioned _WD_Navigate not working, but this function doesn't appear in your code. Please explain. Also, you should show us the console output to allow better understanding of the issue.1 point
-
Parsix, This is not an "example" so it had been moved from the "WebDriver Examples" thread. M231 point
-
GUIScrollBars : scrollbar range
bladem2003 reacted to MattyD for a topic
My pleasure Just a couple of extra tidbits I've found while having a play... Those base scroll unit values can be found in $__g_aSB_WindowInfo. So you don't want to re-calculate - first do a _GUIScrollBars_Init(), then just cycle through the array until you find your window handle. $__g_aSB_WindowInfo[$iIndex][0] = $hWnd $__g_aSB_WindowInfo[$iIndex][2] = $iHScrollUnit $__g_aSB_WindowInfo[$iIndex][3] = $iVScrollUnit The other thing I found was that the _WinAPI_GetClientWidth() and _WinAPI_GetClientHeight() values will change depending on if you're displaying a scroll bar. This is a good thing. If the vertical bar is showing, the overall width will shrink accordingly to accommodate whatever real estate was lost. But the take away is: make sure the the vertical/horizontal bars are in the correct visibility state before you take your measurements. Hope that makes sense!1 point -
Thanks everyone for replying. Yes, I too did more analysis as Jos wanted more crash details. WER showed error with MSVCP140.dll. I installed newest distributable of MV C++ x64. Crash still occurred. I installed newest distributable of MS C++ x86. No more crash. Apparently there is a prereq for new version of Scrite 5.5.x of C++. Maybe this should be documented on the download pages. Follow up question for jos: Is there any problem continuing to use Scrite v4.4.6 (that came with autoit 3.3.16) with new autoit 3.3.18 if I use the newer au3.keywords.properties that came with autoit 3.3.18. If no problem, should I also use the new api\au3.api that came with autoit 3.3.18 or use the older api\au3.api that came with 3.3.16? Thanks1 point
-
Version 2.0.0.0
109 downloads
ImageSearchExDLL & UDF - The Complete Guide Author: Dao Van Trong - TRONG.PRO Last Updated: 2025-09-15 1. Introduction ImageSearchDLL is a high-performance image recognition solution for Windows, designed to be both powerful for modern systems and compatible with legacy environments. The project consists of three distinct C++ DLL versions and a smart AutoIt User-Defined Function (UDF) that automatically selects the best DLL for the job. This architecture ensures that your scripts get the best possible performance on modern systems (like Windows 10/11) while maintaining full functionality on older systems like Windows 7 and even Windows XP. New is the Special Feature is the function of searching for pictures in pictures! 2. How it Works: The Smart UDF Loader The core of this project is the AutoIt UDF (ImageSearchEx_UDF.au3). You don’t need to worry about which DLL to use; the _ImageSearchEx_Startup() function handles it all automatically. Here is the loading logic: On Modern OS (Windows 8, 10, 11+): It first looks for the Modern DLL (ImageSearchEx_x64.dll or ImageSearchEx_x86.dll). If not found, it falls back to the Windows 7 DLL. If neither is found, it deploys the Embedded XP DLL. On Windows 7: It prioritizes the Windows 7 DLL (ImageSearchEx_Win7_x64.dll or ImageSearchEx_Win7_x86.dll). If not found, it deploys the Embedded XP DLL. On Windows XP: It exclusively uses the Embedded XP DLL, which is extracted from a HEX string inside the UDF. This ensures maximum performance where possible and maximum compatibility where needed. 3. The DLL Versions Explained There are three distinct DLLs, each compiled for a specific purpose. Feature Modern (Win10+) Windows 7 Legacy (XP) Target OS Windows 8, 10, 11+ Windows 7 SP1+ Windows XP SP3+ Filename ImageSearchEx_x64.dll ImageSearchEx_x86.dll ImageSearchEx_Win7_x64.dll ImageSearchEx_Win7_x86.dll Embedded in UDF Compiler VS 2022 (C++23) VS 2017+ (C++14) VS 2010 (C++03) Performance Excellent Very Good Good AVX2 Support Yes (auto-detected) Yes (auto-detected) No Thread-Safety Yes (thread_local) Yes (thread_local) No (static buffer) Best Use Case High-performance automation on modern PCs. Scripts that need to run reliably on both modern systems and Windows 7 machines. Maximum compatibility for legacy systems or when no external DLLs are provided. 4. Getting Started (For AutoIt Users) Using the library is simple. Just make sure your files are organized correctly. File Structure For the best experience, place the DLL files in the same directory as your script and the UDF. /YourScriptFolder/ | |-- MyScript.au3 |-- ImageSearch_UDF.au3 |-- ImageSearchEx_x64.dll (Modern DLL for 64-bit) |-- ImageSearchEx_x86.dll (Modern DLL for 32-bit) |-- ImageSearchEx_Win7_x64.dll (Win7 DLL for 64-bit) |-- ImageSearchEx_Win7_x86.dll (Win7 DLL for 32-bit) | /-- images/ |-- button.png Quick Start Example Here is a basic AutoIt script to get you started. #include "ImageSearchEx_UDF.au3" ; 1. Initialize the library. The UDF will automatically load the best DLL. _ImageSearchEx_Startup() If @error Then MsgBox(16, "Error", "ImageSearchEx DLL could not be initialized. Exiting.") Exit EndIf ; You can check which version was loaded ConsoleWrite(">> Loaded DLL Version: " & _ImageSearchEx_GetVersion() & @CRLF) ConsoleWrite(">> System Info: " & _ImageSearchEx_GetSysInfo() & @CRLF) ; 2. Perform a search for an image on the entire screen. Local $sImagePath = @ScriptDir & "\images\button.png" Local $aResult = _ImageSearchEx($sImagePath) ; 3. Process the results. The result is ALWAYS a 2D array. If $aResult[0][0] > 0 Then ConsoleWrite("Found " & $aResult[0][0] & " match(es)!" & @CRLF) ; Loop through each match For $i = 1 To $aResult[0][0] Local $iX = $aResult[$i][1] ; X coordinate Local $iY = $aResult[$i][2] ; Y coordinate ConsoleWrite("Match #" & $i & " found at: " & $iX & ", " & $iY & @CRLF) MouseMove($iX, $iY, 20) Sleep(1000) Next Else ConsoleWrite("Image not found." & @CRLF) EndIf ; 4. Shutdown is handled automatically when the script exits. No need to call _ImageSearchEx_Shutdown(). 5. Full API Reference Main Functions _ImageSearchEx_Area(…): The main function with all available options. _ImageSearchEx(…): A simplified wrapper for searching the entire screen. _ImageInImageSearchEx_Area(…): Searches for an image within another image file. Common Parameters Parameter Description Default $sImageFile Path to the image(s). Use | to search for multiple images. $iLeft, $iTop, $iRight, $iBottom The coordinates of the search area. Entire Screen $iTolerance Color tolerance (0-255). Higher values allow for more variation. 10 $iTransparent A color in 0xRRGGBB format to be ignored during the search. -1 (disabled) $iMultiResults The maximum number of results to return. 1 $iCenterPos 1 returns the center coordinates; 0 returns the top-left. 1 $fMinScale, $fMaxScale Minimum and maximum scaling factor (e.g., 0.8 for 80%). 1.0 $fScaleStep The increment between scales (e.g., 0.1 for 10% steps). 0.1 $iFindAllOccurrences 1 finds all matches; 0 stops after the first. 0 $iUseCache 1 enables the file-based location cache; 0 disables it. 1 $iDisableAVX2 1 disables AVX2 optimization (for debugging). 0 Return Value All search functions return a 2D array. $aResult[0][0]: Contains the number of matches found. For each match $i (from 1 to $aResult[0][0]): aResult[aResult[1]: X coordinate aResult[aResult[2]: Y coordinate aResult[aResult[3]: Width of the found image aResult[aResult[4]: Height of the found image Utility Functions _ImageSearchEx_GetVersion(): Returns the version string of the currently loaded DLL. _ImageSearchEx_GetSysInfo(): Returns system info from the DLL (AVX2 support, screen resolution). _ImageSearchEx_ClearCache(): Deletes all cache files from the temp directory. The download file comes with the ImageSearch Automation Suite version so you can quickly test the UDF: Support my work ? Click here to sponsor! ________________________________________________________ Thanks OhItsThatGuy for sponsoring!1 point -
It's no problem. I'm starting to fall behind with street lingo myself. Kids these days with their "sigmas" and "mewing" and such1 point
-
Can't tell, as you haven't provided any details of the crash. People have reported crashes before, which mostly were resolved by removing/installing that latest version of some dll's This is the answer from ChatGPT: So please provide the details on the crash to see if somebody else has reported that already and fixed it.1 point
-
AutoIt v3.3.18.0 has been released - mainly a UDF release. Thanks to @jpm and the MVPs who were responsible for the majority of code in this version. Download it here. Complete list of changes: History1 point
-
Version 3.4
1,640 downloads
The CodeScannerCrypterBundle (ca. 2.9 MB unzipped) contains the following UDFs and utilities: CodeScanner: analyse AutoIt script structure and content, identify potential issues, generate MCF data files CodeCrypter: front-end GUI for the MCF library, for script encryption (without storing the decryption key(s) in the script!) MetaCodeFile UDF (MCF library): for analysis and user-defined alterations of AutoIt script structure and content MCFinclude.au3: #include this UDF in any AutoIt script that you wish CodeCrypter to process CryptoNG, by TheXman; encryption UDF using Bcrypt dll calls (32/64-bit; various algorithms) StoreCCprofile.au3/readCSdatadump.au3/helloworld.au3: auxiliary utilities and example script HowToCodeCrypt.pdf: a simple guide in five steps CodeCrypterFAQ.pdf: questions and answers, partly based upon exchanges in the CodeCrypter thread. MetaCodeTutorial.pdf: the MCF engine explained; useful for encryption, GUI translation, code translation, and much more... Please follow the links for additional information.1 point -
I installed new AutoIT release 3.3.18. I'm on Windows 10 x64 with latest patches. I do not have VSC. When I run the Scite.exe included with the AutoIT 3.3.18 installer It opens, but when I click on any menu item or try to type it hangs then crashes. What is really strange is that task manager shows when running Scite that the scite.exe is listed and also a child process Windows cmd Console. This is now how the Scite.exe included with 3.3.16 worked. I'm concerned that the new Schite.exe is malware. I reviewed the Scite.exe in the 3.3.17.0 and 3.3.17.1 betas and see that is when this newer scite.exe began being included with autoit installer. I saw on forum that in February 2025 a new beta rewrite of scrite.exe was released incorporating VSC, I installed that beta and it too fails. Scite.exe version numbers: with autoit 3.3.18 v5.5.6, with autoit betats3.3.17.x v5.5.6, and with scrite beta (on forum) v 5.5.5. So asking developers: 1, Why does scite v5.5.6 included with autoit 3.3.18 crash? 2. Does the scite v5.5.5 and 5.5.6 contain malware considering it odd it opens a Windows command console as a child process under scrite.exe? 3. If scite v5.5.6 is good and it's just my system doesn't meet requirements (such as VSC) what are the requirements and should you provide a version in installer for my system type? 4 In all cases, how do users who install portable version (which I normally do though for testing above I used the installer) get around this problem? Thanks0 points