argumentum Posted August 17 Posted August 17 (edited) GUICtrlCreateAvi(@SystemDir & "\shell32.dll", 165, is no longer there ( welcome to the future ). But we can use the one we have: #include <GUIConstantsEx.au3> Example() Func Example() ; Create a GUI with various controls. Local $hGUI = GUICreate("Example", 300, 200) ; Create an animation control. ;~ Local $idAvi_Animation = GUICtrlCreateAvi(@SystemDir & "\shell32.dll", 165, 15, 0, 300) Local $idAvi_Animation = GUICtrlCreateAvi(StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", 0, -1) - 1) & "\Examples\GUI\sampleAVI.avi", 0, 20, 20, 300, 300) Local $idBtn_Start = GUICtrlCreateButton("Start", 60, 150, 85, 25) Local $idBtn_Stop = GUICtrlCreateButton("Stop", 160, 150, 85, 25) ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idBtn_Start ; Start the animation. GUICtrlSetState($idAvi_Animation, $GUI_AVISTART) Case $idBtn_Stop ; Stop the animation. GUICtrlSetState($idAvi_Animation, $GUI_AVISTOP) EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example so that the example will show something in Win11 ..another option: Spoiler expandcollapse popup#include <GUIConstantsEx.au3> Example() Func Example() ; Create a GUI with various controls. Local $idAvi_Animation, $hGUI = GUICreate("Example", 300, 200) ; Create an animation control. If _InspectAVIResource(@SystemDir & "\shell32.dll", 165) > 1 Then $idAvi_Animation = GUICtrlCreateAvi(@SystemDir & "\shell32.dll", 165, 15, 0, 300) Else $idAvi_Animation = GUICtrlCreateAvi(StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", 0, -1) - 1) & "\Examples\GUI\sampleAVI.avi", 0, 20, 20, 300, 300) EndIf Local $idBtn_Start = GUICtrlCreateButton("Start", 60, 150, 85, 25) Local $idBtn_Stop = GUICtrlCreateButton("Stop", 160, 150, 85, 25) ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idBtn_Start ; Start the animation. GUICtrlSetState($idAvi_Animation, $GUI_AVISTART) Case $idBtn_Stop ; Stop the animation. GUICtrlSetState($idAvi_Animation, $GUI_AVISTOP) EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example Func _InspectAVIResource($sModulePath, $vResID) Local Const $LOAD_LIBRARY_AS_DATAFILE = 0x00000002 ; Load module Local $aRet = DllCall("kernel32.dll", "handle", "LoadLibraryExW", "wstr", $sModulePath, "ptr", 0, "dword", $LOAD_LIBRARY_AS_DATAFILE) If @error Or Not $aRet[0] Then Return ConsoleWrite("Failed to load DLL" & @CRLF) Local $hModule = $aRet[0] ; Find resource Local $sTypeID = IsInt($vResID) ? Ptr($vResID) : $vResID $aRet = DllCall("kernel32.dll", "handle", "FindResourceW", "handle", $hModule, "ptr", $sTypeID, "wstr", "AVI") If @error Or Not $aRet[0] Then DllCall("kernel32.dll", "bool", "FreeLibrary", "handle", $hModule) Return SetError(1, 0, 0) ; ConsoleWrite("Resource handle not found." & @CRLF) EndIf Local $hResInfo = $aRet[0] ; Get total size in bytes $aRet = DllCall("kernel32.dll", "dword", "SizeofResource", "handle", $hModule, "handle", $hResInfo) Local $iTotalSize = $aRet[0] ; Lock memory buffer $aRet = DllCall("kernel32.dll", "handle", "LoadResource", "handle", $hModule, "handle", $hResInfo) Local $hResData = $aRet[0] $aRet = DllCall("kernel32.dll", "ptr", "LockResource", "handle", $hResData) Local $pBuffer = $aRet[0] ; Parse RIFF Container (Bytes 0..11) Local $tRIFF = DllStructCreate("char magic[4]; dword size; char type[4]", $pBuffer) Local $sMagic = DllStructGetData($tRIFF, "magic") Local $sType = DllStructGetData($tRIFF, "type") ; Parse Main AVI Header 'avih' (Bytes 24..51) Local $tAVIH = DllStructCreate("char chunkId[4]; dword chunkSize; dword uSecPerFrame; dword maxBytes; dword padding; dword flags; dword totalFrames", $pBuffer + 24) Local $sChunkID = DllStructGetData($tAVIH, "chunkId") Local $iFrames = DllStructGetData($tAVIH, "totalFrames") ;~ ConsoleWrite("Container Type: " & $sMagic & " / " & $sType & @CRLF) ;~ ConsoleWrite("Resource Size : " & $iTotalSize & " bytes" & @CRLF) ;~ ConsoleWrite("Header Chunk : " & $sChunkID & @CRLF) ;~ ConsoleWrite("Frame Count : " & $iFrames & @CRLF) DllCall("kernel32.dll", "bool", "FreeLibrary", "handle", $hModule) Return $iFrames EndFunc ;==>_InspectAVIResource to keep it compatible with older systems but it needs more testing Tested in Win7 and shows 31 frames vs. 1 frame in Win11 Spoiler The deprecation and removal of system AVI resources from shell32.dll happened in two distinct phases: 1. The Feature Deprecation (Windows Vista) Microsoft stopped using shell32.dll AVI animations inside Windows Explorer starting with Windows Vista. The OS shifted away from the legacy Win32 SysAnimate32 control to modern WPF, Direct2D, and UIFILE progress dialogs. However, the physical .avi data was kept inside shell32.dll through Windows Vista and Windows 7 so legacy 32-bit software could still load them. 2. The Resource Payload Stripping (Windows 8 & Windows 10) During Windows 8 and early Windows 10 builds, Microsoft gutted the actual video data from shell32.dll to reduce system DLL file sizes: Dummy Container Headers: Instead of deleting the resource entries outright (which would break legacy resource lookup calls), Microsoft replaced the video streams with 1-frame dummy RIFF headers. Windows 10 v1903 (May 2019 Update): System resources were decoupled from System32\shell32.dll and moved into C:\Windows\SystemResources\shell32.dll.mun, rendering shell32.dll a shell wrapper with stubbed resources. Timeline Overview Windows Version AVI Status in shell32.dll Behavior in AutoIt / Win32 Windows XP Fully Functional AVI animations played natively in Explorer and custom scripts. Windows Vista / 7 Deprecated by OS Explorer stopped using them, but third-party apps could still play the DLL resources. Windows 8 / 10 Stripped to 1-Frame Stubs Resource IDs exist, but video frames are zeroed out or reduced to 1 static frame. Windows 10 1903+ / 11 Moved to .mun / Empty Stubs GUICtrlCreateAvi fails to play because no playable video data exists. For modern Windows support, bundle local uncompressed .avi files alongside your script or transition to animated GIFs using GDI+. ..and the why/when above Edited August 17 by argumentum more WildByDesign 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
WildByDesign Posted August 17 Posted August 17 31 minutes ago, argumentum said: GUICtrlCreateAvi(@SystemDir & "\shell32.dll", 165, is no longer there ( welcome to the future ). From the help file, the following standard UDF functions also use that missing resource and would therefore need updated example code: _GUICtrlAVI_Create Example 2 _GUICtrlAVI_OpenEx Example 1 _GUICtrlAVI_Play Example 1 and Example 2 _GUICtrlAVI_Seek Example 1 and Example 2 _GUICtrlAVI_Show Example 1 and Example 2 _GUICtrlAVI_Stop Example 1 and Example 2 Although it's possible that it could be used in more examples as well but that is what I was able to find without a thorough search. donnyh13 and argumentum 2
WildByDesign Posted September 2 Posted September 2 Additions for ToolbarConstants.au3: Global Const $TB_SETPRESSEDIMAGELIST = $__TOOLBARCONSTANTS_WM_USER + 104 Global Const $TB_GETPRESSEDIMAGELIST = $__TOOLBARCONSTANTS_WM_USER + 105 Additions for GuiToolbar.au3: Func _GUICtrlToolbar_GetPressedImageList($hWnd) Return Ptr(_SendMessage($hWnd, $TB_GETPRESSEDIMAGELIST)) EndFunc ;==>_GUICtrlToolbar_GetPressedImageList Func _GUICtrlToolbar_SetPressedImageList($hWnd, $hImageList) Return _SendMessage($hWnd, $TB_SETPRESSEDIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle") EndFunc ;==>_GUICtrlToolbar_SetPressedImageList I have tested them and can confirm that they work well. donnyh13 1
argumentum Posted September 2 Posted September 2 ...add an example donnyh13 and WildByDesign 2 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting
WildByDesign Posted September 2 Posted September 2 This is based on the existing ImageList examples for toolbar for consistency: expandcollapse popup#include "Extras\HelpFileInternals.au3" #include <GUIConstantsEx.au3> #include <GuiImageList.au3> #include <GuiToolbar.au3> #include <WinAPIGdi.au3> #include <WindowsStylesConstants.au3> Global Const $TB_SETPRESSEDIMAGELIST = $__TOOLBARCONSTANTS_WM_USER + 104 Global Const $TB_GETPRESSEDIMAGELIST = $__TOOLBARCONSTANTS_WM_USER + 105 Example() Func Example() ; Create GUI Local $hGUI = GUICreate("Toolbar Get/Set Disabled ImageList (v" & @AutoItVersion & ")", 420, 300) GUISetBkColor(0xffff00) Local $hToolbar = _GUICtrlToolbar_Create($hGUI) _MemoCreate(2, 36, 416, 262, $WS_VSCROLL) GUISetState(@SW_SHOW) ; Create normal image list Local $hNormal = _GUIImageList_Create(32, 24) _GUIImageList_Add($hNormal, _WinAPI_CreateSolidBitmap($hGUI, 0xFF0000, 32, 24)) _GUIImageList_Add($hNormal, _WinAPI_CreateSolidBitmap($hGUI, 0x00FF00, 32, 24)) _GUIImageList_Add($hNormal, _WinAPI_CreateSolidBitmap($hGUI, 0x0000FF, 32, 24)) _GUICtrlToolbar_SetImageList($hToolbar, $hNormal) ; Create disabled image list Local $hDisabled = _GUIImageList_Create(32, 24) _GUIImageList_Add($hDisabled, _WinAPI_CreateSolidBitmap($hGUI, 0xCCCCCC, 32, 24)) _GUIImageList_Add($hDisabled, _WinAPI_CreateSolidBitmap($hGUI, 0xCCCCCC, 32, 24)) _GUIImageList_Add($hDisabled, _WinAPI_CreateSolidBitmap($hGUI, 0xCCCCCC, 32, 24)) Local $hPrevImageList = _GUICtrlToolbar_SetDisabledImageList($hToolbar, $hDisabled) _MemoWrite("Previous Disabled list handle .: 0x" & Hex($hPrevImageList)) _MemoWrite("IsPtr = " & IsPtr($hPrevImageList) & " IsHWnd = " & IsHWnd($hPrevImageList)) ; Create hot image list Local $hHot = _GUIImageList_Create(32, 24) _GUIImageList_Add($hHot, _WinAPI_CreateSolidBitmap($hGUI, 0x111111, 32, 24)) _GUIImageList_Add($hHot, _WinAPI_CreateSolidBitmap($hGUI, 0x888888, 32, 24)) _GUIImageList_Add($hHot, _WinAPI_CreateSolidBitmap($hGUI, 0xAAAAAA, 32, 24)) _GUICtrlToolbar_SetHotImageList($hToolbar, $hHot) ; Create pressed image list Local $hPressed = _GUIImageList_Create(32, 24) _GUIImageList_Add($hPressed, _WinAPI_CreateSolidBitmap($hGUI, 0xFF00FF, 32, 24)) _GUIImageList_Add($hPressed, _WinAPI_CreateSolidBitmap($hGUI, 0xFF00FF, 32, 24)) _GUIImageList_Add($hPressed, _WinAPI_CreateSolidBitmap($hGUI, 0xFF00FF, 32, 24)) _GUICtrlToolbar_SetPressedImageList($hToolbar, $hPressed) ; Add buttons Local Enum $idRed = 1000, $idGreen, $idBlue _GUICtrlToolbar_AddButton($hToolbar, $idRed, 0) _GUICtrlToolbar_AddButton($hToolbar, $idGreen, 1) _GUICtrlToolbar_AddButton($hToolbar, $idBlue, 2) ; Disable Blue button _GUICtrlToolbar_EnableButton($hToolbar, $idBlue, False) ; Show image list handles _MemoWrite("Disabled list handle .: 0x" & Hex(_GUICtrlToolbar_GetDisabledImageList($hToolbar))) _MemoWrite("IsPtr = " & IsPtr(_GUICtrlToolbar_GetDisabledImageList($hToolbar)) & " IsHWnd = " & IsHWnd(_GUICtrlToolbar_GetDisabledImageList($hToolbar))) _MemoWrite("Hot list handle ......: 0x" & Hex(_GUICtrlToolbar_GetHotImageList($hToolbar))) _MemoWrite("Normal list handle ...: 0x" & Hex(_GUICtrlToolbar_GetImageList($hToolbar))) ; Loop until the user exits. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example Func _GUICtrlToolbar_GetPressedImageList($hWnd) Return Ptr(_SendMessage($hWnd, $TB_GETPRESSEDIMAGELIST)) EndFunc ;==>_GUICtrlToolbar_GetPressedImageList Func _GUICtrlToolbar_SetPressedImageList($hWnd, $hImageList) Return _SendMessage($hWnd, $TB_SETPRESSEDIMAGELIST, 0, $hImageList, 0, "wparam", "handle", "handle") EndFunc ;==>_GUICtrlToolbar_SetPressedImageList argumentum 1
mLipok Posted Wednesday at 08:58 PM Posted Wednesday at 08:58 PM docs for: _GUICtrlTreeView_GetNextSibling() _GUICtrlTreeView_GetNextChild() are saying the same: Quote Returns the next item at the same level as the specified item Could anybody propose some fix for their descriptions ? Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
Moderators Melba23 Posted Thursday at 09:16 AM Moderators Posted Thursday at 09:16 AM mLipok, What is wrong with the descriptions at present - the statement is perfectly correct for both functions? The difference is the level within the TreeView at which the search is conducted: - _GUICtrlTreeView_GetNextSibling() - takes the handle of an item as a parameter and looks at that level - _GUICtrlTreeView_GetNextChild() - takes the handle of a child as a parameter and looks at that level Sibling in English means "brother/sister" (i.e. same generation) whereas Child is a generation lower. M23 pixelsearch 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
mLipok Posted Thursday at 09:59 AM Posted Thursday at 09:59 AM (edited) Thanks for your answer. According to: 44 minutes ago, Melba23 said: _GUICtrlTreeView_GetNextSibling() - takes the handle of an item as a parameter and looks at that level I agree that: Quote Returns the next item at the same level as the specified item looks perfectly fine in my understanding. But for this case: 44 minutes ago, Melba23 said: _GUICtrlTreeView_GetNextChild() - takes the handle of a child as a parameter and looks at that level This descripion Quote Returns the next item at the same level as the specified item is for me a little misleading. After your explanations I would rather expect a description like this Quote Returns the next item at sub level relative to the specified item ps. Perhaps it is a matter of a different way of thinking, shaped by the language we use every day—but that is precisely how I “perceive” the translation of this description in relation to these two distinct functions. Edited Thursday at 10:01 AM by mLipok Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
mLipok Posted Thursday at 10:03 AM Posted Thursday at 10:03 AM btw Reading the documentation, I couldn't grasp the difference at first—I had to run the example files and perform some tests. Perhaps it’s because my English is still not very good, or maybe I’m just getting old and grumpy donnyh13 1 Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now