<?xml version="1.0"?>
<rss version="2.0"><channel><title>AutoIt Projects and Collaboration Latest Topics</title><link>https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/</link><description>AutoIt Projects and Collaboration Latest Topics</description><language>en</language><item><title>XML.au3 - BETA - Support Topic</title><link>https://www.autoitscript.com/forum/topic/176895-xmlau3-beta-support-topic/</link><description><![CDATA[
<p>
	I was asking <a data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/7045-eltorro/?do=hovercard" data-mentionid="7045" href="https://www.autoitscript.com/forum/profile/7045-eltorro/" rel="">@eltorro</a> <span style="color:rgb(82,82,82);font-family:'Open Sans', sans-serif;line-height:22.3999996185303px;">serveral times for any support  for </span><a href="https://www.autoitscript.com/forum/topic/19848-xml-dom-wrapper-com/" rel="" style="color:rgb(37,91,121);font-family:'Open Sans', sans-serif;line-height:22.3999996185303px;">XML DOM wrapper (COM)</a><span style="color:rgb(82,82,82);font-family:'Open Sans', sans-serif;line-height:22.3999996185303px;"> - with no success</span><span style="line-height:22.3999996185303px;"> </span><img alt=":(" height="20" src="https://www.autoitscript.com/forum/uploads/emoticons/default_sad.png.11111111111111111111111111111111.png" srcset="https://www.autoitscript.com/forum/uploads/emoticons/sad@2x.png 2x" style="line-height:22.3999996185303px;" title=":(" width="20" /><span style="line-height:22.3999996185303px;"> </span>
</p>

<div>
	 
</div>

<div>
	 
</div>

<div>
	So I took matters into my hands .....
</div>

<p>
	I want to present XMLWrapperEx.au3 - <span style="color:#FF0000;"><strong>BETA Version</strong></span>
</p>

<p>
	Want to join to the project ?
</p>

<p>
	 
</p>

<p>
	Here is some description:
</p>

<pre class="ipsCode prettyprint lang-autoit" data-pbcklang="autoit" data-pbcktabsize="4">
; #INDEX# =======================================================================================================================
; Title .........: XMLWrapperEx.au3
; AutoIt Version : 3.3.10.2++
; Language ......: English
; Description ...: Functions to use for reading and writing XML using msxml.
; Remarks .......: BETA Version
; Author ........: mLipok
; Version .......: &quot;1.1.1.01&quot; ; _XML_MiscProperty_UDFVersion()

#CS
	This UDF is created on the basis of:
	https://www.autoitscript.com/forum/topic/19848-xml-dom-wrapper-com/
	For this reason, I attach also the last known (to me) previous version ($_XMLUDFVER = &quot;1.0.3.98&quot;  _XMLDomWrapper_1.0.3.98_CN.au3 )
	For the same reason I continue to recognize the achievements of the work of my predecessors (they are still noted in each Function header).
	.
	.
	.
	. !!!!!!!!! This is BETA VERSION (all could be changed) !!!!!!!!!
	.
	.
	.
	WORK IN PROGRES INFORMATION:
	For now 2015-09-01 the descripion (Function Header) can not entirely correctly describe the function.
	TODO: in many places I used &quot;TODO&quot; as a keyword to find what should be done in future
	.
	I want to: PREVENT THIS:
	The unfortunate nature of both the scripts is that the func return results are strings or arrays instead of objects.
	.
&nbsp;&nbsp; &nbsp;I want to: USE THIS CONCEPT:
&nbsp;&nbsp; &nbsp;. &nbsp; All function should use Refernce to the object&nbsp;as first Function parameter
&nbsp;&nbsp; &nbsp;. &nbsp; All function should return in most cases objects. There should be separate functions to Change Object collection to array
&nbsp;&nbsp; &nbsp;. &nbsp; All function should use COM Error Handler in local scope.
&nbsp;&nbsp; &nbsp;. &nbsp; All function should return @error which are defined in #Region XMLWrapperEx.au3 - @ERROR Enums
&nbsp;&nbsp; &nbsp;.&nbsp;&nbsp; &nbsp;All function should have the same naming convention
&nbsp;&nbsp; &nbsp;.&nbsp;&nbsp; &nbsp;All variables should have the same naming convention
&nbsp;&nbsp; &nbsp;.&nbsp;&nbsp; &nbsp;There should not to be any Global Variable - exception is $g__oXMLDOM_Events
&nbsp;&nbsp; &nbsp;. &nbsp; It should be possible easy to use XML DOM Events
&nbsp;&nbsp; &nbsp;.&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;https://msdn.microsoft.com/en-us/library/ms764697(v=vs.85).aspx
&nbsp;&nbsp; &nbsp;. &nbsp; It should be possible easy to Debug
&nbsp;&nbsp; &nbsp;.&nbsp;&nbsp; &nbsp;Ultimately, you should be able to do anything with your XML without having to use your own Error Handler.

#CE
</pre>

<p>
	 
</p>

<p>
	More info inside zip archive.
</p>

<p>
	<span style="font-size:18px;"><strong>This UDF can be downloaded from here:</strong></span>
</p>
<iframe data-embedcontent="" frameborder="0" src="https://www.autoitscript.com/forum/files/file/358-_xmldomwrapperexau3/?do=embed"></iframe>

<p>
	<strong>REMARK:</strong><br />
	This UDF was formerly named:   XMLWrapperEx.au3 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">176895</guid><pubDate>Wed, 02 Sep 2015 15:25:40 +0000</pubDate></item><item><title>ADO.au3 UDF - BETA - Support Topic</title><link>https://www.autoitscript.com/forum/topic/180850-adoau3-udf-beta-support-topic/</link><description><![CDATA[
<p style="margin-top:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	I want to present BETA Version of my ADO.au3 UDF.
</p>

<p style="color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	This is modifed version of _sql.au3 UDF.
</p>

<p style="color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>
<iframe data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed9312797255" frameborder="0" scrolling="no" src="https://www.autoitscript.com/forum/topic/51952-_sqlau3-adodbconnection/?do=embed" style="width:952.8px;margin:10px 0px;border:1px solid;background-color:rgb(252,252,252);background-position:50% 50%;background-repeat:no-repeat;height:387px;max-width:502px;"></iframe>

<p style="color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	For that I want to thanks : ; Chris Lambert, eltorro, Elias Assad Neto, CarlH
</p>

<p style="color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	<span style="color:#FF0000;"><u><strong>This is first public release , and still is as BETA</strong></u></span>
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	<strong>DOWNLOAD LINK (in download section):</strong> 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>
<iframe data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed85101101" frameborder="0" scrolling="no" src="https://www.autoitscript.com/forum/files/file/389-adoau3-udf/?do=embed" style="height:445px;max-width:502px;"></iframe>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	Have fun,
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	mLipok
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<hr /><p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	EDIT: 2016-06-03<br />
	Below some interesting topics about databases:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>
		<iframe data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed9710964061" frameborder="0" scrolling="no" src="https://www.autoitscript.com/forum/topic/182717-discuss-and-compare-db-connection-methods/?do=embed" style="height:205px;max-width:502px;"></iframe>

		<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
			 
		</p>

		<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
			 
		</p>
		<iframe data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed9546247789" frameborder="0" scrolling="no" src="https://www.autoitscript.com/forum/topic/182894-postgresql-video-tutorials/?do=embed" style="height:205px;max-width:502px;"></iframe>

		<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
			 
		</p>

		<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
			 
		</p>
		<iframe data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed1790508187" frameborder="0" scrolling="no" src="https://www.autoitscript.com/forum/topic/182895-nosql-interesting-informations/?do=embed" style="height:205px;max-width:502px;"></iframe>

		<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
			 
		</p>
	</div>
</div>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	EDIT 2016/07/04:<br />
	For more info about ADO look here:<br /><strong><a href="https://www.autoitscript.com/wiki/ADO" rel="">https://www.autoitscript.com/wiki/ADO</a></strong>
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	<strong>FOR EXAMPLE DATABASE use AdventureWorksDW2016_EXT.bak from:</strong><br /><a href="https://github.com/microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorksDW2016_EXT.bak" rel="external nofollow" style="background-color:transparent;color:#3d6594;">https://github.com/microsoft/sql-server-samples/releases/download/adventureworks/AdventureWorksDW2016_EXT.bak</a><br /><span style="color:#e67e22;"><strong>I will relay on this database in my examples.</strong></span>
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	<a href="https://www.autoitscript.com/forum/topic/180850-adoau3-udf-beta-support-topic/?do=findComment&amp;comment=1468205" rel="">Here is link</a> to post which shows how <strong>"ODBC Data Source Administrator"</strong> looks like.
</p>

<p style="margin-bottom:0px;color:rgb(39,42,52);font-family:'Open Sans', sans-serif;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:16.8px;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);">
	 
</p>
]]></description><guid isPermaLink="false">180850</guid><pubDate>Wed, 24 Feb 2016 01:52:18 +0000</pubDate></item><item><title>GUIDarkTheme UDF</title><link>https://www.autoitscript.com/forum/topic/213613-guidarktheme-udf/</link><description><![CDATA[<h2>
	Origins:
</h2>

<p>
	This UDF was created within the <a href="https://www.autoitscript.com/forum/topic/211475-darkmode-udf-for-autoits-win32guis/" rel="">DarkMode UDF for AutoIt's Win32GUIs</a> thread which was originally created by <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/116547-nonamecode/?do=hovercard" data-mentionid="116547" href="https://www.autoitscript.com/forum/profile/116547-nonamecode/" rel="">@NoNameCode</a>. I ended up extending the features quite significantly and therefore decided to branch off into a new thread because I do not want to take anything away from the original DarkMode UDF.
</p>

<h2>
	Goal:
</h2>

<p>
	My goal was to make everything as automated and as simple as possible. I wanted it so that whoever is using it can just add one line of code _GUIDarkTheme_ApplyDark($hGUI, True) just before their already existing GUISetState() function. This would initiate the dark mode and automatically detect all controls, convert to dark mode and use the necessary subclassing whenever needed.
</p>

<h2>
	Community:
</h2>

<p>
	This UDF contains a lot of code from throughout the amazing AutoIt community and therefore belongs to every single one of us. I am always welcome to any suggestions and collaboration.
</p>

<h2>
	Note:
</h2>

<p>
	This UDF requires Windows 10/11 or higher due to API being used and lack of necessary theme functionality on older versions of Windows. Running this UDF on the latest versions of Windows 11 are always going to produce the best results. Windows 10 is missing some of the theme resources and therefore more subclassing is done there. Windows 11 also has newer and improved theme resources, particularly in 24H2/25H2 builds and higher.
</p>

<h2>
	<span>Changelog:</span>
</h2>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<strong>GUIDarkTheme 1.2.0:</strong>
		</p>

		<ul>
			<li>
				GUIDarkTheme and GUIDarkMenu have been combined
			</li>
			<li>
				Added new function _GUIDarkTheme_ApplyMaterial() for applying Windows 11 materials (Mica, Acrylic, etc.)
				<ul>
					<li>
						SampleControls-ModernDark example has been updated to show material effect
					</li>
					<li>
						Requires Windows 11 build 22621 or higher
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.2.1:</strong>
		</p>

		<ul>
			<li>
				Add TVS_EX_DOUBLEBUFFER extended style to TreeView controls
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.3.0:</strong>
		</p>

		<ul>
			<li>
				Added dark mode MsgBox with new _GUIDarkTheme_MsgBox() function - (thanks to MattyD)
				<ul>
					<li>
						Default dark MsgBox colors are nice, but you can use _MsgBoxDarkSetOptions() to customize
					</li>
					<li>
						Dark MsgBox is not completely automated:
					</li>
					<li>
						You would need to manually replace your MsgBox() with _GUIDarkTheme_MsgBox()
					</li>
					<li>
						Parameters are the same between the two functions
					</li>
					<li>
						_GUIDarkTheme_MsgBox() can automatically switch between dark and light modes
					</li>
				</ul>
			</li>
			<li>
				Added SampleControls-MaterialDark.au3 (to not take anything away from SampleControls-ModernDark.au3)
			</li>
			<li>
				Sizebox/sizegrip on Edit, TreeView and ListView controls are overpainted now (thanks to UEZ)
			</li>
			<li>
				Control borders are painted now to easily show which control has focus and keep theme consistent (thanks to UEZ)
			</li>
			<li>
				Fixed crash when no controls are on GUI (thanks to bladem2003)
			</li>
			<li>
				Ran all .au3 files in 7z archive through Tidy
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.3.1:</strong>
		</p>

		<ul>
			<li>
				Added dark mode MsgBox example to the button
				<ul>
					<li>
						SampleControls-MaterialDark has material applied to MsgBox
					</li>
				</ul>
			</li>
			<li>
				Fixed bug where sizebox was showing up after minimize/restore of GUI that was not resizable
			</li>
			<li>
				Thanks to argumentum for reporting and ioa747 for helping with the fix
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.4.0:</strong>
		</p>

		<ul>
			<li>
				Added single function _GUIDarkTheme_SwitchTheme() to switch between Dark and Light mode
			</li>
			<li>
				Expanded _GUIDarkTheme_MsgBox() functionality to allow standard dark mode buttons or materials
				<ul>
					<li>
						If a material is applied to GUI, buttons will automatically switch to allow material as well
					</li>
				</ul>
			</li>
			<li>
				Condensed all 3 SampleControls scripts into one: SampleControls-Demo.au3
				<ul>
					<li>
						Menubar has been changed to File, Options, and Help
					</li>
					<li>
						Options - Toggle Theme has been added to showcase instant switch between Dark and Light mode
					</li>
					<li>
						Help - About menu gives UDF version but also is an example of dark MsgBox
					</li>
				</ul>
			</li>
			<li>
				Condensed both Statusbar scripts into one: Statusbar-Demo.au3
				<ul>
					<li>
						Statusbar-Demo has an extra button "Toggle Dark Themes" that only shows on 24H2/25H2 OS (build 26100.6899 and higher)
					</li>
					<li>
						"Toggle Dark Themes" switches back and forth between DarkMode_Explorer and DarkMode_DarkTheme (newer dark theme)
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.5.0:</strong>
		</p>

		<ul>
			<li>
				UpDown (spin) controls are now subclassed as well (thanks to Nine)
				<ul>
					<li>
						Previously, UpDown controls could not obtain dark mode on Windows 10
					</li>
				</ul>
			</li>
			<li>
				Reorganized much of the subclassing registration under __GUIDarkTheme_AddToSubclass() function
				<ul>
					<li>
						This is mostly to cover subclass registration for the procedures that are created using _WinAPI_SetWindowSubclass()
					</li>
					<li>
						All control handles, procedure pointers and subclass ID's are stored in a single array for easy cleanup
					</li>
					<li>
						At the moment, this covers __GUIDarkTheme_UpDownProc() and __GUIDarkTheme_SubclassProc() - general GUI procedure
					</li>
					<li>
						I would like to switch more of the subclassing procedures over to this method in future releases
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.6.0:</strong>
		</p>

		<ul>
			<li>
				Theme switching is faster and smoother now with the use of _WinAPI_LockWindowUpdate()
			</li>
			<li>
				Global variable stored now with GUIDarkTheme UDF version: $__DM_g_Version
			</li>
			<li>
				Global variables for DLL handles now precede with: $__DM_g_hDll (eg. $__DM_g_hDllGdi32)
			</li>
			<li>
				Global Style constants now precede with: $__DM_g_Style_ (eg. $__DM_g_Style_Gui)
			</li>
			<li>
				Cleaned up some of the subclassing to ensure clean removal, especially when switching themes
			</li>
			<li>
				Removed some dead code
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.6.1:</strong>
		</p>

		<ul>
			<li>
				Added more tabs to the tab control for testing the overflow and UpDown (spin) control
				<ul>
					<li>
						Ensured that tab overflow (UpDown) created after init will still get subclassed
					</li>
					<li>
						Done via $WM_PARENTNOTIFY in the Tab Proc - courtesy of UEZ
					</li>
				</ul>
			</li>
			<li>
				Added _GUIDarkTheme_Version() to check UDF version - courtesy of argumentum
			</li>
			<li>
				Some minor subclass reorganization
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.7.0:</strong>
		</p>

		<ul>
			<li>
				Significant changes to the overall modern cohesiveness of the design and color choices
				<ul>
					<li>
						Improved default dark mode theme colors
					</li>
					<li>
						Improved default light mode theme colors (finally!)
					</li>
					<li>
						Fixed painting of control sizeboxes to perfectly match scrollbar background color
					</li>
				</ul>
			</li>
			<li>
				Added new function _GUIDarkTheme_SetCornerPref() to change window corners (rounded, squared, etc.)
				<ul>
					<li>
						Corner Preference submenu added to View menu with examples for corner preferences
					</li>
				</ul>
			</li>
			<li>
				Renamed all Global variables to follow UDF specifications and avoid collisions
			</li>
			<li>
				Renamed all functions to follow UDF specifications and avoid collisions
			</li>
			<li>
				Removed some redundant subclassing by using some non-subclass methods
				<ul>
					<li>
						WM_CTLCOLORSTATIC and WM_CTLCOLOREDIT have been removed completely
					</li>
					<li>
						WM_CTLCOLORLISTBOX has been moved into a custom subclass procedure
					</li>
					<li>
						This way it will not interfere with any potential GUIRegisterMsg a user may have already
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.7.1:</strong>
		</p>

		<ul>
			<li>
				Fixed tab text from being clipped
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.8.0:</strong>
		</p>

		<ul>
			<li>
				Added Windows 11 Materials submenu to the View menu (Windows 11 Build 22621 and higher)
			</li>
			<li>
				Added CUSTOMDRAW buttons (optional) to support Windows 11 Materials
				<ul>
					<li>
						Relevant functions now have a $bFlatButtons boolean to enable these custom buttons
					</li>
					<li>
						Custom buttons can be used without the Windows 11 Materials as well
					</li>
				</ul>
			</li>
			<li>
				Relevant functions now have a $iMaterial option for enabling Windows 11 Materials
				<ul>
					<li>
						Options: $DWMSBT_AUTO, $DWMSBT_NONE, $DWMSBT_MAINWINDOW, $DWMSBT_TRANSIENTWINDOW, and $DWMSBT_TABBEDWINDOW
					</li>
				</ul>
			</li>
			<li>
				Got Windows 11 Materials showing on statusbar without OWNERDRAW or subclassing
			</li>
			<li>
				Added/updated function header information for the most important functions
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.9.0:</strong>
		</p>

		<ul>
			<li>
				Improved the overall modern cohesiveness of controls
			</li>
			<li>
				Improved the design and behavior of Edit/Input controls
			</li>
			<li>
				Improved colors for ComboBox and fixed some related issues
			</li>
			<li>
				Miscellaneous improvements to most controls
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 1.9.1:</strong>
		</p>

		<ul>
			<li>
				Added new function _GUIDarkTheme_CtrlBorderSet() to enable/disable control borders and/or active Edit control color
			</li>
			<li>
				Fixed bug on resizable GUI where SBS_SIZEBOX/SBS_SIZEGRIP would be incorrectly positioned by 1 pixel after theme change
			</li>
			<li>
				Fixed bug where white menu line was not getting overpainted when GUI contained any child GUIs
			</li>
			<li>
				Minor fixes and improvements
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.0.0:</strong>
		</p>

		<ul>
			<li>
				Improvements to brushes and pens for better manageability, efficiency and cleanup
				<ul>
					<li>
						New internal functions for brushes: __GUIDarkTheme_CreateBrushes() and __GUIDarkTheme_BrushCleanup()
					</li>
					<li>
						New internal functions for pens: __GUIDarkTheme_CreatePens() and __GUIDarkTheme_PenCleanup()
					</li>
					<li>
						Brushes and pens are now easily cleaned up and recreated for any theme or material changes
					</li>
				</ul>
			</li>
			<li>
				Subclassing of ListView Headers has been added
				<ul>
					<li>
						Separate procedure function __GUIDarkTheme_ListViewProc() has been added
					</li>
					<li>
						Headers are only subclassed when Windows 11 materials are applied
					</li>
					<li>
						Special thanks to <strong>Nine</strong> for the genius header subclassing technique
					</li>
					<li>
						Special thanks to <strong>jugador</strong> for important crash fixes for the header subclassing
					</li>
				</ul>
			</li>
			<li>
				Theme design improvements
				<ul>
					<li>
						UpDown received some improvements
					</li>
					<li>
						Combobox received some improvements
					</li>
					<li>
						Lots of theme color improvements for when Windows 11 materials are applied
					</li>
					<li>
						Miscellaneous color adjustments throughout theme
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.1.0:</strong>
		</p>

		<ul>
			<li>
				Automatic theme changes to follow system color theme
				<ul>
					<li>
						Added __GUIDarkTheme_WM_SETTINGCHANGE function to monitor system theme changes (thanks to argumentum)
					</li>
					<li>
						Added _GUIDarkTheme_ApplyAuto function for users who want to follow system theme from GUI init
					</li>
					<li>
						Added _GUIDarkTheme_AutoTheme function to pass boolean to enable/disable auto-theme (if user has menu option or similar)
					</li>
				</ul>
			</li>
			<li>
				Significant work on the behavior of Static (label) controls during theme and material changes
				<ul>
					<li>
						Added __GUIDarkTheme_IsCtrlInTab internal function to know if control is within tab control (thanks to ioa747)
					</li>
					<li>
						Added __GUIDarkTheme_GetCtrlColors function to obtain TextColor, BkColor and BkMode from Static controls (therefore brush colors)
					</li>
					<li>
						Added __GUIDarkTheme_WM_CTLCOLOR where all of the Static control magic happens
					</li>
					<li>
						Standard black or white text colors invert during theme changes while custom user colors remain the same
					</li>
					<li>
						Standard background brush colors invert during theme changes while custom user colors remain the same (eg. 0x00FF00)
					</li>
					<li>
						Removed all manual fixes from SampleControls-Demo that fixed custom colors after each theme change
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.1.1:</strong>
		</p>

		<ul>
			<li>
				Improved logic behind Static control text color and backgroud brush swapping
			</li>
			<li>
				Removed subclassing for WM_CTLCOLORLISTBOX as it was not required
			</li>
			<li>
				Fixed issue with text color swapping for Static controls
			</li>
			<li>
				Fixed bug in SampleControls-Demo where UpDown label was clipping top of UpDown control
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.1.2</strong>
		</p>

		<ul>
			<li>
				Fixed bug affecting disabled Edit controls
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.1.3</strong>
		</p>

		<ul>
			<li>
				Applied high DPI scaling to SampleControls-Demo GUI and controls directly
			</li>
			<li>
				Removed GuiCtrls_HiDpi UDF to avoid any confusion (not required for GUIDarkTheme UDF)
			</li>
			<li>
				For anyone interested in GuiCtrls_HiDpi UDF: <a href="https://www.autoitscript.com/forum/topic/210613-guictrls_hidpi-udf-in-progress/" rel="">"GuiCtrls_HiDpi" (UDF in progress)</a> by argumentum
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.1.4</strong>
		</p>

		<ul>
			<li>
				Improved separator visibility between tabs in tab control
			</li>
			<li>
				Fixed ListView control border and sizebox measurements
			</li>
			<li>
				Fixed ListBox control border measurements
			</li>
			<li>
				Lowered brightness of UpDown control button borders
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.2.0</strong>
		</p>

		<ul>
			<li>
				Removed subclassing for $WM_CTLCOLORSTATIC messages
				<ul>
					<li>
						Handling Static (label) controls without subclassing now
					</li>
				</ul>
			</li>
			<li>
				Switched many larger If statements to use Ternary instead
			</li>
			<li>
				Fixed issue when $GUI_BKCOLOR_TRANSPARENT is used as label background color
			</li>
			<li>
				Fixed regression with ComboBox drop-down not showing dark mode
			</li>
			<li>
				Fixed some tab control compatibility issues with various controls
			</li>
		</ul>

		<p>
			<strong>Script breaking changes in 2.2.0:</strong>
		</p>

		<ul>
			<li>
				Primary functions to initiate GUIDarkTheme UDF now only use one parameter (GUI handle)
				<ul>
					<li>
						_GUIDarkTheme_ApplyAuto, _GUIDarkTheme_ApplyDark, _GUIDarkTheme_ApplyLight only need GUI handle as param
					</li>
					<li>
						Many other functions have been simplified as well
					</li>
				</ul>
			</li>
			<li>
				Removed support for applying Windows 11 materials (eg. Mica)
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.3.0</strong>
		</p>

		<ul>
			<li>
				Added separate background color brush for tab controls
				<ul>
					<li>
						Allows improved contrast between tab control and controls within it
					</li>
				</ul>
			</li>
			<li>
				Improved Static control coloring logic
				<ul>
					<li>
						Improves initial coloring and coloring during theme changes
					</li>
				</ul>
			</li>
			<li>
				Tab control compatibility improvements
				<ul>
					<li>
						Fixed issue with frame showing around button within tab control
					</li>
					<li>
						Fixed issue with Group control (BS_GROUPBOX) incorrect background color within tab control
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.3.1</strong>
		</p>

		<ul>
			<li>
				Tab control compatibility improvements
				<ul>
					<li>
						Fixed issue with Group control not showing dark mode on Win10/11 builds less than 26100.6899
					</li>
					<li>
						New implementation for the logic regarding Button (group, checkbox, radio, etc.) behavior in tabs
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.3.2</strong>
		</p>

		<ul>
			<li>
				Fixed a bug in _GUIDarkTheme_MsgBox preventing dark MsgBox before GUI creation
			</li>
			<li>
				Fixed a bug in _GUIDarkTheme_MsgBox causing focus rectangle to be solid white
			</li>
			<li>
				Fixed issue with Group control getting overpainted by tab control brush
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.4.0</strong>
		</p>

		<ul>
			<li>
				Added modern tab control using DarkMode_DarkTheme (Thanks to UEZ and Nine)
				<ul>
					<li>
						Improved overall efficiency of tab control procedure
					</li>
					<li>
						Fixed some bugs related to tab control
					</li>
				</ul>
			</li>
			<li>
				Determine with certainty if the newer DarkMode_DarkTheme is available
				<ul>
					<li>
						Added testing of operating system theme capabilities (Thanks to argumentum)
					</li>
				</ul>
			</li>
			<li>
				Improved contrast between GUI background and control background colors
			</li>
			<li>
				Updated control border color to improve contrast
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.4.1</strong>
		</p>

		<ul>
			<li>
				Added ability to change accent color
				<ul>
					<li>
						Accent color is used on focused Edit controls and selected tab control items
					</li>
					<li>
						New function _GUIDarkTheme_AccentColorSet(0xRRGGBB)
					</li>
				</ul>
			</li>
			<li>
				Updated modern tab control (24H2/25H2) with accent colored tab strip on selected tab
			</li>
			<li>
				Fixed issue with Au3Stripper - (Thanks to mLipok)
			</li>
			<li>
				Fixed issue with SysMonthCal32 control not showing days of the week
				<ul>
					<li>
						Title background shares color with days of the week text color (Windows limitation)
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.4.2</strong>
		</p>

		<ul>
			<li>
				Fixed white border issue on SysMonthCal32 control
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.4.3</strong>
		</p>

		<ul>
			<li>
				Fixed issue with positioning of drop shadow (SysShadow class) of SysMonthCal32 control
			</li>
			<li>
				Fixed issue with white showing on tab control when larger tab height is used
			</li>
			<li>
				Fixed another occurrence where white would show on tab control
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.5.0</strong>
		</p>

		<ul>
			<li>
				Added dark mode support for standalone month calendar (SysMonthCal32 class) control
			</li>
			<li>
				Added initial dark mode support for toolbars (ToolbarWindow32 class)
				<ul>
					<li>
						No support for Rebar controls yet
					</li>
				</ul>
			</li>
			<li>
				Switched all __DM_WinAPI_ functions back to original _WinAPI_ standard libraries
				<ul>
					<li>
						Removed all loaded DLL handles
					</li>
				</ul>
			</li>
			<li>
				Added basic function header with Author to all functions
				<ul>
					<li>
						More function header details to add later
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.6.0</strong>
		</p>

		<ul>
			<li>
				Improved Toolbar subclassing significantly
				<ul>
					<li>
						Still no Rebar control subclassing yet (W.I.P.)
					</li>
				</ul>
			</li>
			<li>
				Created SampleControls-Demo2.au3 for demo of dark mode toolbar
				<ul>
					<li>
						Combined Statusbar-Demo.au3 into SampleControls-Demo2.au3
					</li>
				</ul>
			</li>
			<li>
				Cleaned up and reorganized Include files - thanks to argumentum
			</li>
			<li>
				Updated and improved the Dark Mode API (GUIDarkAPI.au3)
				<ul>
					<li>
						It can probably be used on its own now separately from project
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.7.0</strong>
		</p>

		<ul>
			<li>
				Improved the handling of transparent toolbars
				<ul>
					<li>
						Added new function _GUIDarkTheme_ToolbarSetTrans to enable/disable transparency
					</li>
					<li>
						Added button to SampleControls-Demo2 for testing _GUIDarkTheme_ToolbarSetTrans
					</li>
				</ul>
			</li>
			<li>
				Added initial dark mode support for Rebar controls
				<ul>
					<li>
						Added new internal function __GUIDarkTheme_SetBandColor for Rebar band coloring - thanks to Nine
						<ul>
							<li>
								This removes the need to subclass the Rebar control
							</li>
						</ul>
					</li>
				</ul>
			</li>
			<li>
				Improved handling of WM_CTLCOLOR* messages
			</li>
			<li>
				Sorted function lists alphabetically
			</li>
			<li>
				Pass GUI handle instead of using Global variable
				<ul>
					<li>
						This is important in situations with multiple GUIs
					</li>
				</ul>
			</li>
			<li>
				Added checks to __GUIDarkTheme_WM_SIZE to ensure sizebox exists and confirm GUI
			</li>
			<li>
				Miscellaneous bugfixes
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.7.1</strong>
		</p>

		<ul>
			<li>
				Fixed issue with Input/Edit boxes showing white background when disabled
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.8.0</strong>
		</p>

		<ul>
			<li>
				Set titlebar color to match GUI background color on Windows 11 builds 22000+
			</li>
			<li>
				Brand new tab control subclass procedure that supports more Windows OS builds
			</li>
			<li>
				Added support for multiple SysDateTimePick32 controls
			</li>
			<li>
				Added some constants and includes to support AutoIt v3.3.16.1
			</li>
			<li>
				Switched release archives from 7z to ZIP - suggested by argumentum
			</li>
			<li>
				Improved contrast of UpDown button borders
			</li>
			<li>
				Improved contrast of Tab controls and the controls within them
			</li>
			<li>
				Improved overall GUI and control contrast
			</li>
			<li>
				Fixed an issue with the SysMonthCal32 control theming on 24H2 and earlier
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.8.1</strong>
		</p>

		<ul>
			<li>
				Fixed regression with disabled edit/input box showing wrong color
			</li>
			<li>
				Fixed an issue where tab control was not handling ampersand correctly
			</li>
			<li>
				Fixed an issue caused by _WinAPI_SetThemeAppProperties
			</li>
			<li>
				Fixed an issue with SysShadow timer if user has "Show shadows under windows" disabled
			</li>
			<li>
				Added padding around SysMonthCal32 dropdown window to prevent clipping
			</li>
			<li>
				Minor contrast improvements
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2.9.0</strong>
		</p>

		<ul>
			<li>
				Added custom dark theme support for SysLink controls
			</li>
			<li>
				Added custom dark theme support for Progress controls
			</li>
			<li>
				Added internal function __DM_GetThemeDetails() for debugging issues
			</li>
			<li>
				Fixed issue with checkbox/radio buttons showing black text on earlier Windows 11 builds
				<ul>
					<li>
						Issue affected Windows 11 21H2 to 24H2 (MS fixed it halfway through 24H2/25H2 development)
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.0.0</strong>
		</p>

		<ul>
			<li>
				Added new Demo GUI from argumentum
			</li>
			<li>
				Modern looking groupbox, checkbox, and radio buttons for pre-25H2 OS
				<ul>
					<li>
						Those controls notoriously had black text
					</li>
					<li>
						Checkbox and radio button subclassing by WildByDesign
					</li>
					<li>
						Groupbox subclassing by argumentum
					</li>
				</ul>
			</li>
			<li>
				Improved toolbar button border color
			</li>
			<li>
				Overall theme color consistency improvements for dark and light themes
			</li>
			<li>
				Fixed issue with hidden progress control showing on startup
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.1.0</strong>
		</p>

		<ul>
			<li>
				Added dark mode support for IP Address (SysIPAddress32) control
				<ul>
					<li>
						Added __GUIDarkTheme_IPAddrProc() internal subclass procedure function
					</li>
					<li>
						Thanks to arugmentum for creating __GUIDarkTheme_IPAddrProc()
					</li>
				</ul>
			</li>
			<li>
				Added dark mode support for Hot Key (msctls_hotkey32) control
				<ul>
					<li>
						Added __GUIDarkTheme_HotkeyProc() internal subclass procedure function
					</li>
					<li>
						Thanks to arugmentum for creating __GUIDarkTheme_HotkeyProc()
					</li>
				</ul>
			</li>
			<li>
				Improved font used by SysLink control
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.1.1</strong>
		</p>

		<ul>
			<li>
				Added basic context menu to the Demo
			</li>
			<li>
				Fixed text color and focus rectangle for SysLink controls
			</li>
			<li>
				Fixed issue with menubar painting when GUI has one or more child GUI
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.2.0</strong>
		</p>

		<ul>
			<li>
				MsgBox() function will be hooked/subclassed automatically in dark mode
				<ul>
					<li>
						Users can now simply use built-in MsgBox() function
					</li>
					<li>
						_GUIDarkTheme_MsgBox() function is deprecated and will be removed in future release
					</li>
				</ul>
			</li>
			<li>
				Improved SysLink URL color and size
			</li>
			<li>
				Fixed alignment of text within input/edit controls
			</li>
			<li>
				Fixed alignment of text within HotKey controls
			</li>
			<li>
				Fixed issue when using GUICtrlSetData on ComboBox control
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.2.1</strong>
		</p>

		<ul>
			<li>
				Fixed some visual glitches with BS_SPLITBUTTON controls
				<ul>
					<li>
						Most notably, disabled BS_SPLITBUTTON controls were incomplete within MS theme files
					</li>
				</ul>
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.3.0</strong>
		</p>

		<ul>
			<li>
				Added custom button colors, borders and corner radius
			</li>
			<li>
				Created custom subclass procedure for WM_NOTIFY: __GUIDarkTheme_NotifyProc
				<ul>
					<li>
						This frees up WM_NOTIFY in case user script needs GUIRegisterMsg
					</li>
				</ul>
			</li>
			<li>
				Created custom subclass procedure for menubar: __GUIDarkMenu_MenuProc
				<ul>
					<li>
						This frees up WM_WINDOWPOSCHANGED, WM_ACTIVATE, WM_MEASUREITEM and WM_DRAWITEM
					</li>
				</ul>
			</li>
			<li>
				Added AutoIt3Wrapper_Au3Check_Parameters to Demo.au3
				<ul>
					<li>
						Cleaned up all warnings from Au3Check
					</li>
				</ul>
			</li>
			<li>
				Ran Tidy on all included .au3 files
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 3.4.0</strong>
		</p>

		<ul>
			<li>
				Brand new ownerdrawn Statusbar for dark mode
			</li>
			<li>
				Added AutoIt version to statusbar
			</li>
			<li>
				Added SysLink URL hover to statusbar
			</li>
			<li>
				Added GUIDarkTheme UDF version to statusbar
			</li>
			<li>
				Updated __WinAPI_DefSubclassProc() - thanks to argumentum
			</li>
			<li>
				Fixed rare subclass timing lockup regarding ComboBox - thanks to argumentum
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2026.07.03</strong>
		</p>

		<ul>
			<li>
				Switch release version to represent date: 2026.07.03 (YYYY.MM.DD)
			</li>
			<li>
				Added custom dark mode toolbar buttons to Demo from fonts with _CreateToolbarIconFromFont()
			</li>
			<li>
				Added SIZENWSE cursor over statusbar gripper - thanks to MattyD
			</li>
			<li>
				Rewrote the function that handles the WM_WINDOWPOSCHANGED message
			</li>
			<li>
				Improved the efficiency of painting over white line below menubar
			</li>
			<li>
				Removed statusbar resizing from UDF
			</li>
			<li>
				Fixed issue with tab control not getting focus to nagivate tabs with keyboard
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2026.07.05</strong>
		</p>

		<ul>
			<li>
				Added function to handle WM_PARENTNOTIFY to automatically theme newly created controls
			</li>
			<li>
				Fixed some clipping issues with tab controls (SysTabControl32)
			</li>
			<li>
				Fixed some clipping issues with group boxes inside tab controls (SysTabControl32)
				<ul>
					<li>
						Added group box on "tab 3" of tab control in Demo.au3
					</li>
					<li>
						This shows group box inside tab control inside group box
					</li>
				</ul>
			</li>
			<li>
				Fixed some GDI handle leaks when switching themes
			</li>
			<li>
				Fixed a potential Struct-related lockup in the tab subclass procedure - thanks to argumentum
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2026.07.10</strong>
		</p>

		<ul>
			<li>
				Added dark theme for ChooseColor and ChooseFont dialog boxes
				<ul>
					<li>
						Added "..Color()" and "..Font()" to Demo.au3 GUI example - thanks to argumentum
					</li>
					<li>
						Some areas of the ChooseFont dialog are still light due to CBS_OWNERDRAWFIXED *
					</li>
				</ul>
			</li>
			<li>
				Updated internal functions: __GUIDarkMenu_WM_WINDOWPOSCHANGED() and __GUIDarkMenu_PaintWhiteLine()
				<ul>
					<li>
						Both functions updated for better performance and reliability
					</li>
				</ul>
			</li>
			<li>
				Passing Parent/Owner handle to _ChooseColor(), _ChooseFont() or MsgBox() will center dialog on GUI
			</li>
		</ul>

		<p>
			<strong>GUIDarkTheme 2026.07.11</strong>
		</p>

		<ul>
			<li>
				Smooth resizing of Demo.au3 GUI
			</li>
			<li>
				Static (label) control color handling improvements
			</li>
			<li>
				Minor improvements to ChooseColor dialog
			</li>
			<li>
				Fixed issue with tab item icons/images not showing
			</li>
			<li>
				Fixed issue where splitbutton dropdown arrow would sometimes disappear
			</li>
			<li>
				Removed the ability to set custom tab control background color
				<ul>
					<li>
						Too much complexity and potential performance impact
					</li>
				</ul>
			</li>
		</ul>
	</div>
</div>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink" data-fileext="zip" data-fileid="80212" href="https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=80212&amp;key=1ce57a8d168cb96199d7356d0644d46c" rel="">GUIDarkTheme-2026.07.05.zip</a>
</p>

<p>
	<a class="ipsAttachLink" data-fileext="zip" data-fileid="80233" href="https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=80233&amp;key=1873d46757b0aa6dec09b6809bf10d77" rel="">GUIDarkTheme-2026.07.10.zip</a>
</p>
<p>
<a class="ipsAttachLink" href="https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=80242&amp;key=d750d41914631bd30233b911daf6ed77" data-fileExt='zip' data-fileid='80242' data-filekey='d750d41914631bd30233b911daf6ed77'>GUIDarkTheme-2026.07.11.zip</a></p>]]></description><guid isPermaLink="false">213613</guid><pubDate>Tue, 31 Mar 2026 17:35:16 +0000</pubDate></item><item><title>TeamViewer.au3 UDF</title><link>https://www.autoitscript.com/forum/topic/186944-teamviewerau3-udf/</link><description><![CDATA[
<p>
	This is TeamViewer.au3 UDF for TeamViewer API.
</p>

<pre class="ipsCode prettyprint lang-autoit">
; #INDEX# ========================================================================
; Title .........: TeamViewer.au3
; AutoIt Version : 3.3.10.2++
; Language ......: English
; Description ...: A collection of function for use with TeamViewer API
; Author ........: mLipok
; Modified ......:
; URL ...........:
; URL ...........: https://www.teamviewer.com/
; URL ...........: https://www.teamviewer.com/en/integrations/
; URL ...........: https://integrate.teamviewer.com/en/develop/api/get-started/
; URL ...........: https://downloadeu1.teamviewer.com/integrate/TeamViewer_API_Documentation.pdf
; Remarks .......: This UDF was created based on TeamViewer_API_Documentation.pdf v 1.4.1
; Remarks .......: This UDF is using Free Chilkat component look here https://www.autoitscript.com/forum/files/file/433-chilkat-udf/
; Remarks .......: Documentation is &quot;work in progress&quot;
; Date ..........: 2017/02/08
; Version .......: 0.1.1 BETA - Work in progress
; ================================================================================</pre>

<p>
	in TeamViewer_Example.au3 you can see few examples:<br /><br />
	 
</p>

<pre class="ipsCode prettyprint lang-autoit">
Func _Example()

	; If not exist then create new INI file from template
	If Not FileExists(&#39;TeamViewer_Example.ini&#39;) Then FileCopy(&#39;TeamViewer_Example &mdash; Template.ini&#39;, &#39;TeamViewer_Example.ini&#39;)

	; Read Access Token from INI
	Local $sTV_AccessToken = IniRead(&#39;TeamViewer_Example.ini&#39;, &#39;Settings&#39;, &#39;AccessToken&#39;, &#39;&#39;)
	If $sTV_AccessToken = &#39;&#39; Then
		; Your Access Token, can be left empty when OAuth (below) is configured.

		; ClientId = &lt;-----------------	Create an app in your TeamViewer Management Console and insert the client ID to the INI
		; ClientSecret = &lt;------------- Insert your client secret to the INI
		; AuthorizationCode = &lt;--------	Visit https://webapi.teamviewer.com/api/v1/oauth2/authorize?response_type=code&amp;client_id=YOUR$i_ClientIdHERE
		; 								Login, grant the permissions (popup) and put the code shown in the AuthorizationCode variable to the INI

		Local $sTVOAuth_ClientID = IniRead(&#39;TeamViewer_Example.ini&#39;, &#39;OAuth2&#39;, &#39;ClientID&#39;, &#39;&#39;)
		Local $sTVOAuth_ClientSecret = IniRead(&#39;TeamViewer_Example.ini&#39;, &#39;OAuth2&#39;, &#39;ClientSecret&#39;, &#39;&#39;)

		_IECreate(&#39;https://webapi.teamviewer.com/api/v1/oauth2/authorize?response_type=code&amp;client_id=&#39; &amp; $sTVOAuth_ClientID)
		; Local $sTVOAuth_AuthorizationCode = IniRead(&#39;TeamViewer_Example.ini&#39;, &#39;OAuth2&#39;, &#39;authorizationCode&#39;, &#39;&#39;)
		Local $sTVOAuth_AuthorizationCode = InputBox(&#39;AuthorizationCode&#39;, &#39;Please provide TV OAuth2 AuthorizationCode&#39;)
		If @error Then Return

		If $sTVOAuth_ClientID Then $sTV_AccessToken = _TVAPI_RequestOAuth2_AccessToken($sTVOAuth_ClientID, $sTVOAuth_ClientSecret, $sTVOAuth_AuthorizationCode)
	EndIf

	If $sTV_AccessToken Then _TVAPI_AccessToken($sTV_AccessToken)

	If _TVAPI_Ping() = True Then ; ping API to check connection and $sTV_AccessToken
		_Example_TeamViewer__1_Devices_SaveToFile()
;~ 		_Example_TeamViewer__2_Devices_ChangeDetails()
;~ 		_Example_TeamViewer__3_Devices_GetDevicesSingleID()
;~ 		_Example_TeamViewer__4_Reports_GetAllConnections()
;~ 		_Example_TeamViewer__5_Users_GetUserInfomation()
;~ 		_Example_TeamViewer__6_Groups_ListGroups()
;~ 		_Example_TeamViewer__7_Devices_AddDeleteDevice()
	Else
		MsgBox(0, &#39;_TVAPI_Ping&#39;, &quot;$v_Token or connection problem.&quot;)
	EndIf
EndFunc   ;==&gt;_Example</pre>

<p>
	You can download it here:
</p>
<iframe data-embedcontent="" frameborder="0" src="https://www.autoitscript.com/forum/files/file/437-teamviewerau3-udf/?do=embed"></iframe>

<p>
	I'm using TeamViewer_Example.ini to store my secret tokens/keys.
</p>

<pre class="ipsCode prettyprint lang-autoit">
[Settings]
AccessToken=

[OAuth2]
ClientID=
ClientSecret=
authorizationCode=</pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">186944</guid><pubDate>Wed, 08 Feb 2017 01:23:00 +0000</pubDate></item><item><title>VollyQuizzer</title><link>https://www.autoitscript.com/forum/topic/213729-vollyquizzer/</link><description><![CDATA[<p>
	Hello everyone. 
</p>

<p>
	I've found I need quizzing software that works like the old Transdumper software. (You can find it here: <a href="https://www.gejos.com/" rel="external nofollow">https://www.gejos.com/) </a>
</p>

<p>
	The problem with that software is it runs in Internet Explorer and needs ActiveX. Edge doesn't use that unless you run the browser in IE mode. Even then, Trandumper doesn't work in it. Been there, tried to get it to work, got the t-shirt.... and the juice isn't worth the squeeze. I looked at a bunch of other apps out there and it is either super pricey, crippled in features, very clunky to use, or just doesn't do what I need. 
</p>

<p>
	So, I decided to dust off my AutoIt skills and build an app that can do it. 
</p>

<p>
	I'm looking to get most of the the basic functionality of Trandumper in a GUI, use CSV files to store the test, and keep it simple. I don't see it working on mobile and have no plans to do that. I won't have drag and drop support either. Other than that, I should be able to get it to work. 
</p>

<p>
	If anyone is interested in helping me code this thing, I would be grateful. Thanks in advance. 
</p>
]]></description><guid isPermaLink="false">213729</guid><pubDate>Fri, 05 Jun 2026 23:54:32 +0000</pubDate></item><item><title>Scite4AutoIt Themes for VS Code</title><link>https://www.autoitscript.com/forum/topic/213691-scite4autoit-themes-for-vs-code/</link><description><![CDATA[<p>
	Greetings AutoIt community;
</p>

<p>
	I’m not sure if there is much need nor desire for this little project, but I thought I would share it in case there is.
</p>

<p>
	These themes are an attempt to copy over the themes that come with Scite4AutoIt. Being that there are many further customizations available for VS Code compared to Scite, many colorations in VS Code may not match, and these may not be as well combined as they are in Scite, as VS Code colorizes things slightly different from Scite in some instances.
</p>

<p>
	Because of the vast number of available settings and tokens for each language, it has been thought best to only have these custom themes apply to AutoIt files. I have used the token names from the two leading AutoIt extensions that are currently available, published by <a href="https://www.autoitscript.com/forum/topic/185773-autoit-extension-for-visual-studio-code/" rel="">LoganCH</a> and <a href="https://www.autoitscript.com/forum/topic/209759-another-autoit-extension-for-visual-studio-code/" rel="">Genius257</a>, consequently, if neither is installed or activated AutoIt syntax highlighting will be defaulted to VS code colorings. When the user opens any other language file, the theme coloring will revert to the base theme's colorization for tokens (see <a href="https://github.com/donnyh13/Scite4AutoIt_Themes/blob/main/README.md#included-in-this-theme-set" rel="external nofollow">Read-Me chart</a>), but the editor colors (background, similar word highlight, etc.) will not.
</p>

<p>
	The vsix file can be downloaded from the following, as I do not intend to publish these on the marketplace: <a href="https://github.com/donnyh13/Scite4AutoIt_Themes/releases" rel="external nofollow">https://github.com/donnyh13/Scite4AutoIt_Themes/releases</a>
</p>

<p>
	The base themes are three themes included with VS Code: VS Code Light, VS Code Dark, and Monokai, which are all MIT licensed, and belong to the respective owner(s). Copyright (c) Microsoft Corporation.
</p>

<p>
	All Scite Themes, colorings and names are owned by the developers of Scite4AutoIt, and the respective theme creators, and I claim no ownership to any of them.
</p>

<p>
	If any of the theme owners wish for these to be removed, please let me know.
</p>

<h2>
	Note
</h2>

<p>
	For those users on older Windows versions, and unable to update VS Code to later versions, the following should be noted. The extension created by LoganCH became incompatible from version 1.0.14+ with Vs Code 1.70.3, (the latest available on Windows 7). In Logan's versions 1.4.0, and 1.5.0 there were several modifications and additions that make tokenization better, and cleaner, which users on older systems will not be able to benefit from. As a possible work around, see below.
</p>

<p>
	As of the time of writing (May, 2026), Genius257's extension (v1.8.9) is still compatible with VS Code 1.70.3, and does not present these issues.
</p>

<h3>
	Possible Workaround
</h3>

<p>
	Being under the above limitations myself, I have found the following workaround. Any users with some coding experience can follow the following steps at their own risk. These directions work for Logan's version 1.5.0. I make no guarantee it will work with later versions.
</p>

<ol>
	<li>
		 Download a copy of Logan's extension files from his GitHub, or, minimally, a copy of the file <strong>autoit.tmLanguage.json</strong>, found in the <u>syntaxes</u> file. (Make sure to get the file with the <em><strong>.json</strong></em> extension).
	</li>
	<li>
		Locate your VS Code extensions folder, mine was found at the following location:<br />
		 <em>C:\Users\Owner\.vscode\extensions</em>
	</li>
	<li>
		Make a copy of Logan's extension folder somewhere else, in case something goes wrong. The extension folder is named: <strong>damien.autoit-1.0.13</strong> or similar.
	</li>
	<li>
		Open Logan's extension folder found in the VS Code extension folder (not the copy you made).
	</li>
	<li>
		Find and open the <strong>package.json</strong> file.
	</li>
</ol>

<ul>
	<li>
		5.1. Inside the <strong>package.json</strong> file, find the following line, (Mine was around line 225):
	</li>
</ul>

<pre class="ipsCode prettyprint lang-autoit">&quot;grammars&quot;: [
			{
				&quot;language&quot;: &quot;autoit&quot;,
				&quot;scopeName&quot;: &quot;source.autoit&quot;,
				&quot;path&quot;: &quot;./syntaxes/autoit.tmLanguage&quot;
			},
			{
				&quot;language&quot;: &quot;vscode-autoit-output&quot;,
				&quot;scopeName&quot;: &quot;source.vscode_autoit_output&quot;,
				&quot;path&quot;: &quot;syntaxes/vscode-autoit-output.tmLanguage.json&quot;
			}
		],</pre>

<p>
	 
</p>

<ul>
	<li>
		5.2. Edit the <strong>"path"</strong> line for <strong>"language": "autoit"</strong>
	</li>
	<li>
		From:
	</li>
</ul>

<pre class="ipsCode prettyprint lang-autoit">&quot;path&quot;: &quot;./syntaxes/autoit.tmLanguage&quot;</pre>

<ul>
	<li>
		To:
	</li>
</ul>

<pre class="ipsCode prettyprint lang-autoit">&quot;path&quot;: &quot;./syntaxes/autoit.tmLanguage.json&quot;</pre>

<ul>
	<li>
		5.3. Save and close the file.
	</li>
</ul>

<p>
	6. Navigate to inside the <strong>Syntaxes</strong> folder.
</p>

<p>
	7. Copy the new <strong>autoit.tmLanguage.json</strong> file into this folder, replacing the existing file, if present.
</p>

<p>
	8. Close VS Code if open, and open an AutoIt Script in VS Code to make sure everything is colorized properly, and that no errors are present.
</p>

<p>
	 
</p>

<h2>
	Previews
</h2>

<h3>
	Standard
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Standard.png.b9309b10b4c5b9d833cb3b05d2ac10ab.png" data-fileid="79871" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79871" data-ratio="45.90" width="1000" alt="Standard.thumb.png.e0a830f8fc832cfdb51297ad924bde57.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Standard.thumb.png.e0a830f8fc832cfdb51297ad924bde57.png" /></a>
		</p>
	</div>
</div>

<h3>
	Old-Standard
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/OldStandard.png.8b59b0404cc493fc4f81ab493f7e4427.png" data-fileid="79872" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79872" data-ratio="45.40" width="1000" alt="OldStandard.thumb.png.7e689f3c5c87d69409ec0488b8fbca74.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/OldStandard.thumb.png.7e689f3c5c87d69409ec0488b8fbca74.png" /></a>
		</p>
	</div>
</div>

<h3>
	Old-LCD
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/OldLCD.png.dce804a4b00193f648802074360cde15.png" data-fileid="79873" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79873" data-ratio="45.80" width="1000" alt="OldLCD.thumb.png.dff945964fc6dcd82b25bf66cac6bf9d.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/OldLCD.thumb.png.dff945964fc6dcd82b25bf66cac6bf9d.png" /></a>
		</p>
	</div>
</div>

<h3>
	MSDEV
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/MSDEV.png.da223118caf276a96075b67e934602fc.png" data-fileid="79874" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79874" data-ratio="49.70" width="1000" alt="MSDEV.thumb.png.10d4629ee4bda3b808dac48dc9913ead.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/MSDEV.thumb.png.10d4629ee4bda3b808dac48dc9913ead.png" /></a>
		</p>
	</div>
</div>

<h3>
	MSDEV2
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/MSDEV2.png.9946470db4450f1d1e8d31b685800d40.png" data-fileid="79875" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79875" data-ratio="45.80" width="1000" alt="MSDEV2.thumb.png.84a2c0f252c09fd9c1258eac933c156d.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/MSDEV2.thumb.png.84a2c0f252c09fd9c1258eac933c156d.png" /></a>
		</p>
	</div>
</div>

<h3>
	Dark
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Dark.png.ae6e6bb824847468e9feb7b418306e31.png" data-fileid="79876" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79876" data-ratio="45.50" width="1000" alt="Dark.thumb.png.3af14d3bd40f0d244be69d6b729ab6f3.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Dark.thumb.png.3af14d3bd40f0d244be69d6b729ab6f3.png" /></a>
		</p>
	</div>
</div>

<h3>
	Monokai
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Monokai.png.4cfa5180715086f9477ea7465a5c2657.png" data-fileid="79877" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79877" data-ratio="45.50" width="1000" alt="Monokai.thumb.png.d168356cdcfc89684dad545e7e236f44.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Monokai.thumb.png.d168356cdcfc89684dad545e7e236f44.png" /></a>
		</p>
	</div>
</div>

<h3>
	Twilight
</h3>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<a class="ipsAttachLink ipsAttachLink_image" href="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Twilight.png.b60f0bd0fc02a50786a30bdd634c5f77.png" data-fileid="79878" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79878" data-ratio="44.90" width="1000" alt="Twilight.thumb.png.507a59eac543b99e51b22d9489e3ef32.png" src="https://www.autoitscript.com/forum/uploads/monthly_2026_05/Twilight.thumb.png.507a59eac543b99e51b22d9489e3ef32.png" /></a>
		</p>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">213691</guid><pubDate>Mon, 11 May 2026 17:29:16 +0000</pubDate></item><item><title>Adjustment UDF &#x2014; Least Squares Adjustment for AutoIt</title><link>https://www.autoitscript.com/forum/topic/213521-adjustment-udf-%E2%80%94-least-squares-adjustment-for-autoit/</link><description><![CDATA[<p>
	<span style="font-size:18px;"><strong>Adjustment UDF — Least Squares Adjustment for AutoIt</strong></span>
</p>

<p>
	<strong>You have measurements. They don't perfectly agree. You need the best answer.</strong>
</p>

<p>
	Least squares adjustment finds the optimal values from redundant, contradictory observations — and tells you exactly how reliable the results are. It's the mathematical foundation behind positioning, navigation, calibration, curve fitting, regression, signal processing, and virtually any domain where measurements meet reality.
</p>

<p>
	This UDF brings that capability to AutoIt with a radically simple interface: describe your model as string formulas, add measurements with their uncertainties, and call <span style="font-family:'courier new';">_adj_solve()</span>. No matrix algebra, no numerical recipes, no external tools — just your problem and your data.
</p>

<p>
	Underneath, it's a complete adjustment engine powered by OpenBLAS, with nonlinear iterative solvers, variance component estimation, robust estimators, and full statistical diagnostics — the kind of tooling normally reserved for MATLAB or specialized scientific software.
</p>

<p>
	<strong>Download:</strong> <a href="https://github.com/Sylvan86/autoit-adjustment-udf/releases" rel="external nofollow">Latest Release on GitHub</a><br />
	<strong>GitHub:</strong> <a href="https://github.com/Sylvan86/autoit-adjustment-udf" rel="external nofollow">https://github.com/Sylvan86/autoit-adjustment-udf</a>
</p>

<p>
	<br />
	<span style="font-size:14px;"><strong>Quick Start</strong></span>
</p>

<pre class="ipsCode prettyprint lang-autoit">#include &quot;Adjustment.au3&quot;
; 5 measurements of a distance &mdash; find the best estimate and accuracy

Local $mSystem = _adj_createSystem()

_adj_addObsFunction($mSystem, &quot;M1&quot;, &quot;X&quot;, 10.02, 1.0)
_adj_addObsFunction($mSystem, &quot;M2&quot;, &quot;X&quot;, &nbsp;9.98, 1.0)
_adj_addObsFunction($mSystem, &quot;M3&quot;, &quot;X&quot;, 10.01, 1.0)
_adj_addObsFunction($mSystem, &quot;M4&quot;, &quot;X&quot;, 10.03, 1.0)
_adj_addObsFunction($mSystem, &quot;M5&quot;, &quot;X&quot;, &nbsp;9.99, 1.0)
_adj_setInitialValue($mSystem, &quot;X&quot;, 10.0)

_adj_solve($mSystem)

ConsoleWrite(_adj_displayResults($mSystem))
; Result: X = 10.006 &plusmn; 0.009</pre>

<p>
	This is just the simplest case — a mean value. The real strength lies in <strong>simultaneously adjusting different measurements with different formulas</strong>. For example, determining a point's position from distance <em>and</em> direction measurements, or fitting a curve to data while enforcing constraints.
</p>

<p>
	<br />
	<span style="font-size:14px;"><strong>Feature Overview</strong></span>
</p>

<p>
	For experts — the full scope of the UDF:
</p>

<p>
	<span style="font-size:12px;"><strong>Model Types</strong></span>
</p>

<ul>
	<li>
		<strong>OLS / WLS / GLS</strong> — Overdetermined system (weighted, generalized with full covariance matrix)
	</li>
	<li>
		<strong>LSE / WLSE / GLSE</strong> — With parameter constraints
	</li>
	<li>
		<strong>CLS / WCLS / GCLS</strong> — Condition adjustment
	</li>
	<li>
		<strong>GLM / WGLM / GGLM</strong> — Gauss-Helmert model (most general form)
	</li>
</ul>

<p>
	Model type detection is automatic based on the input structure.
</p>

<p>
	<span style="font-size:12px;"><strong>Solvers and Iteration Methods</strong></span>
</p>

<ul>
	<li>
		<strong>Iteration method:</strong> Gauss-Newton, Levenberg-Marquardt (Nielsen damping)
	</li>
	<li>
		<strong>Linear solver:</strong> QR decomposition (DGELSY), Singular Value Decomposition (DGELSD)
	</li>
	<li>
		<strong>Jacobian matrices:</strong> Numerical (Central, Forward, Backward, Ridder, Higham) or analytical
	</li>
	<li>
		<strong>Scaling:</strong> Jacobi equilibration (automatic column scaling)
	</li>
</ul>

<p>
	<span style="font-size:12px;"><strong>Statistics and Diagnostics</strong></span>
</p>

<ul>
	<li>
		<strong>Basic statistics:</strong> A posteriori variance factor s0², degrees of freedom, vTPv
	</li>
	<li>
		<strong>Accuracy:</strong> Cofactor matrix Qxx, standard deviations (parameters, observations)
	</li>
	<li>
		<strong>Controllability:</strong> Redundancy numbers r_i, cofactor matrices Qvv and Qy
	</li>
	<li>
		<strong>Model validation:</strong> Global test (Chi²)
	</li>
	<li>
		<strong>Outlier diagnostics:</strong> Baarda test (w-statistic), Pope test (tau-statistic), p-values, MDB
	</li>
</ul>

<p>
	<span style="font-size:12px;"><strong>Variance Component Estimation (VCE)</strong></span>
</p>

<p>
	Helmert method: Separate variance factors for different observation groups (e.g. distances vs. angles). Iterative until convergence.
</p>

<p>
	<span style="font-size:12px;"><strong>Robust Estimation (IRLS)</strong></span>
</p>

<ul>
	<li>
		<strong>L1 (Median)</strong> — Breakdown point: 50%
	</li>
	<li>
		<strong>Huber</strong> (c = 1.345) — Breakdown point: ~5%
	</li>
	<li>
		<strong>Hampel</strong> (a = 1.7, b = 3.4, c = 8.5) — Breakdown point: ~25%
	</li>
	<li>
		<strong>Biweight (Tukey)</strong> (c = 4.685) — Breakdown point: 50%
	</li>
	<li>
		<strong>BIBER (Schweppe)</strong> (c = 3.5) — Breakdown point: leverage-dependent
	</li>
	<li>
		<strong>Modified-M (Koch)</strong> (c = 1.5) — Breakdown point: leverage-dependent
	</li>
</ul>

<p>
	Scale parameters: MAD, s0, a priori, user-defined.
</p>

<p>
	<span style="font-size:12px;"><strong>Additional Features</strong></span>
</p>

<ul>
	<li>
		Symbolic formula input as strings — parameters and observations are detected automatically
	</li>
	<li>
		Compute-on-demand — statistics are only calculated when requested
	</li>
	<li>
		Configurable result display with selectable columns and sections
	</li>
	<li>
		Outlier detection and removal (<span style="font-family:'courier new';">_adj_getOutliers</span>, <span style="font-family:'courier new';">_adj_removeObs</span>)
	</li>
</ul>

<p>
	<br />
	<span style="font-size:14px;"><strong>Installation</strong></span>
</p>

<p>
	<strong>Requirements:</strong>
</p>

<ul>
	<li>
		AutoIt v3.3.16+ (x64)
	</li>
	<li>
		OpenBLAS DLL (<span style="font-family:'courier new';">libopenblas_x64.dll</span>)
	</li>
</ul>

<p>
	<strong>Setup:</strong>
</p>

<ol style="list-style-type:decimal;">
	<li>
		<strong>Download:</strong> Get the latest release from <a href="https://github.com/Sylvan86/autoit-adjustment-udf/releases" rel="external nofollow">GitHub Releases</a>
	</li>
	<li>
		<strong>Extract:</strong> Unpack the files into a directory
	</li>
	<li>
		<strong>OpenBLAS:</strong> The <span style="font-family:'courier new';">libopenblas_x64.dll</span> is downloaded automatically on first run, or can be placed manually in the UDF directory
	</li>
	<li>
		<strong>Include:</strong>
	</li>
</ol>

<pre class="ipsCode prettyprint lang-autoit">$__g_hBLAS_DLL = DllOpen(&quot;libopenblas_x64.dll&quot;)
#include &quot;Adjustment.au3&quot;</pre>

<p>
	<br />
	<span style="font-size:14px;"><strong>Documentation</strong></span>
</p>

<p>
	The full documentation is available on GitHub:
</p>

<ul>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/01_getting_started.md" rel="external nofollow"><strong>Tutorial</strong></a> — Step-by-step guide, 9 chapters (Beginners)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/feature_overview.md" rel="external nofollow"><strong>Feature Overview</strong></a> — Full capabilities at a glance (Everyone)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/api.md" rel="external nofollow"><strong>API Reference</strong></a> — All 17 public functions (Developers)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/configuration.md" rel="external nofollow"><strong>Configuration</strong></a> — Solver, display, and robust config (Advanced)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/results.md" rel="external nofollow"><strong>Result Structure</strong></a> — All keys of the result map (Advanced)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/model_types.md" rel="external nofollow"><strong>Model Types</strong></a> — OLS to GGLM with mathematics (Experts)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/solvers.md" rel="external nofollow"><strong>Solvers</strong></a> — GN, LM, QR, SVD in detail (Experts)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/statistics.md" rel="external nofollow"><strong>Statistics</strong></a> — s0, Qxx, global test, Baarda/Pope (Experts)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/robust_estimation.md" rel="external nofollow"><strong>Robust Estimation</strong></a> — IRLS, 6 estimators, weight functions (Experts)
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/reference/error_codes.md" rel="external nofollow"><strong>Error Codes</strong></a> — All $ADJ_ERR_* with solutions (Everyone)
	</li>
</ul>

<p>
	<span style="font-size:12px;"><strong>Tutorial Chapters</strong></span>
</p>

<ol style="list-style-type:decimal;">
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/01_getting_started.md" rel="external nofollow">Getting Started</a> — What is adjustment?
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/02_first_network.md" rel="external nofollow">First Network</a> — Trilateration
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/03_weighting.md" rel="external nofollow">Weighting</a> — Accounting for measurement precision
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/04_mixed_observations.md" rel="external nofollow">Mixed Observations</a> — Combining distances and angles
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/05_constraints.md" rel="external nofollow">Constraints</a> — Restrictions and fixed parameters
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/06_regression.md" rel="external nofollow">Regression</a> — OLS, orthogonal, Deming, York
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/07_covariance_matrix.md" rel="external nofollow">Covariance Matrix</a> — Correlated measurements
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/08_results.md" rel="external nofollow">Understanding Results</a> — Configuring and interpreting output
	</li>
	<li>
		<a href="https://github.com/Sylvan86/autoit-adjustment-udf/blob/master/docs/tutorial/09_robust_estimation.md" rel="external nofollow">Robust Estimation</a> — Handling outliers
	</li>
</ol>

<p>
	<br />
	<span style="font-size:14px;"><strong>Download</strong></span>
</p>

<p>
	<a href="https://github.com/Sylvan86/autoit-adjustment-udf/releases" rel="external nofollow"><strong>&gt;&gt;&gt; Download the latest release from GitHub &lt;&lt;&lt;</strong></a>
</p>

<p>
	Source code and issue tracker: <a href="https://github.com/Sylvan86/autoit-adjustment-udf" rel="external nofollow">https://github.com/Sylvan86/autoit-adjustment-udf</a><br />
	 
</p>
]]></description><guid isPermaLink="false">213521</guid><pubDate>Fri, 20 Mar 2026 15:26:06 +0000</pubDate></item><item><title>AutoIt Extension for Visual Studio Code</title><link>https://www.autoitscript.com/forum/topic/185773-autoit-extension-for-visual-studio-code/</link><description><![CDATA[
<p>
	I've recently taken over the development of an <a href="https://marketplace.visualstudio.com/items?itemName=Damien.autoit" rel="external nofollow">extension for Visual Studio Code</a>, which I've found to have a great mix of features as a code editor. I've recently been able to get the extension to a point that it could launch scripts from the editor, open the help docs on a highlighted keyword, and launch the Info app. I'm still working on wrapping my head around the inner workings of VSCode to be able to implement advanced features like Intellisense but would appreciate any feedback (bugs, feature requests, new different snippets) in this thread or on the <a href="https://github.com/loganch/AutoIt-VSCode" rel="external nofollow">GitHub</a> page where I'm maintaining the extension.
</p>

<p>
	You check out the extension on the VSCode Marketplace <a href="https://marketplace.visualstudio.com/items?itemName=Damien.autoit" rel="external nofollow">here</a> and view the code on GitHub <a href="https://github.com/loganch/AutoIt-VSCode" rel="external nofollow">here</a>.
</p>

<p>
	<em>Edit:</em>
</p>

<p>
	Go to <a href="http://code.visualstudio.com/docs/setup/windows" rel="external nofollow">http://code.visualstudio.com/docs/setup/windows</a> for information on installing Visual Studio Code.
</p>

<p>
	See <a href="http://code.visualstudio.com/docs/editor/extension-gallery" rel="external nofollow">http://code.visualstudio.com/docs/editor/extension-gallery</a> for information on installing extensions to VS Code.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">185773</guid><pubDate>Sun, 27 Nov 2016 23:09:03 +0000</pubDate></item><item><title>Files Au3 - AutoIt File Manager</title><link>https://www.autoitscript.com/forum/topic/213358-files-au3-autoit-file-manager/</link><description><![CDATA[<p>
	I would like to introduce Files Au3 as a project that anyone here in the community can help to improve. The name "Files Au3" can potentially change if anyone has a better idea for the name. At the moment, it is a bare bones file viewer. It uses the <a href="https://www.autoitscript.com/forum/topic/173926-fileexplorer-treeview-and-listview-treelistexplorer/" rel="">TreeListExplorer</a> by <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/80820-kanashius/?do=hovercard" data-mentionid="80820" href="https://www.autoitscript.com/forum/profile/80820-kanashius/" rel="">@Kanashius</a> which has a lot of callback options to extend the functionality further.
</p>

<p>
	 
</p>

<p>
	<strong>Original TO DO List:</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<strong>TO DO (original):</strong>
		</p>

		<ul>
			<li>
				<s>Header still needs subclassing for the text color in dark mode</s><strong> (DONE)</strong>
			</li>
			<li>
				<s>Complete functions for Back, Forward, Up and Refresh buttons</s> <strong>(DONE)</strong>
			</li>
			<li>
				<s>Complete menu bar functions</s> <strong>(DONE)</strong>
			</li>
			<li>
				<s>Add a status bar</s><strong> (DONE)</strong>
			</li>
			<li>
				<s>Access File Properties</s><strong> (DONE)</strong>
			</li>
		</ul>

		<p>
			<s>Then the question is, should we get into actual file management?</s>
		</p>

		<ul>
			<li>
				<s>Use callback features of the UDF</s><strong> (DONE)</strong>
			</li>
			<li>
				<s>UDF may need to be extended to multiple selection?</s><strong> (DONE)</strong>
			</li>
			<li>
				<s>File/folder copy/move/delete/etc.</s> <strong>(DONE)</strong>
			</li>
		</ul>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong>Current TO DO List:</strong>
</p>

<ul>
	<li>
		Add TreeView/ListView context menu items  similar to what the menubar has
	</li>
	<li>
		Add ability to create new files and folders (uses templates)
	</li>
	<li>
		Run IFileOperation::MoveItems and IFileOperation::CopyItems in a separate process
		<ul>
			<li>
				Needs to use IPC to communicate
			</li>
			<li>
				Need to send data object to the other process
			</li>
			<li>
				Or alternatively send array of file names and create data object in the other process
			</li>
		</ul>
	</li>
	<li>
		Subclass the menu bar for dark mode (and get rid of ModernMenuRaw UDF)
		<ul>
			<li>
				This is likely a big job and lower priority
			</li>
		</ul>
	</li>
	<li>
		Implement autoscrolling of TreeView/ListView during drag and drop (<a href="https://www.autoitscript.com/forum/topic/110478-treeview-with-edit-and-drag-n-drop-whithin/#findComment-776324" rel="">reference</a>)
	</li>
</ul>

<p>
	 
</p>

<p>
	If anyone wants to contribute, maybe we should just let each other know what part we are working on so that we don't have two people working on the same thing.
</p>

<p>
	<span><img alt=":)" data-emoticon="" height="20" src="https://www.autoitscript.com/forum/uploads/emoticons/default_smile.png.11111111111111111111111111111111.png" srcset="https://www.autoitscript.com/forum/uploads/emoticons/smile@2x.png 2x" title=":)" width="20" /></span>
</p>

<p>
	 
</p>

<p>
	<strong>Latest Source Code Release:</strong> <a href="https://github.com/AutoIt-Community/files-au3/releases/latest" rel="external nofollow">Releases (latest)</a>
</p>

<p>
	<strong>Latest Changes:</strong> <a href="https://github.com/AutoIt-Community/files-au3/blob/main/CHANGELOG.md" rel="external nofollow">CHANGELOG</a>
</p>
]]></description><guid isPermaLink="false">213358</guid><pubDate>Tue, 09 Dec 2025 00:32:49 +0000</pubDate></item><item><title>JIT.au3 - Compile and Run C Code Directly from AutoIt</title><link>https://www.autoitscript.com/forum/topic/213496-jitau3-compile-and-run-c-code-directly-from-autoit/</link><description><![CDATA[<h2>
	JIT.au3 - Compile and Run C Code Directly from AutoIt
</h2>

<p>
	Sometimes you wish critical parts of your AutoIt script could run at native speed - tight loops, numerical algorithms, or bit-level operations that AutoIt simply wasn't designed for. <strong>JIT.au3</strong> lets you write C code as a string, compile it at runtime, and call it directly from AutoIt.
</p>

<p>
	No compiler installation required. All you need is this UDF and an internet connection.<br />
	The compilation is handled by the <a href="https://godbolt.org/" rel="external nofollow">Compiler Explorer (Godbolt)</a> API - the compiled machine code is loaded into executable memory and made callable via <span style="font-family:monospace;">DllCallAddress</span>.
</p>

<p>
	<strong>GitHub:</strong> <a href="https://github.com/Sylvan86/autoit-jit-udf" rel="external nofollow">https://github.com/Sylvan86/autoit-jit-udf</a><br />
	<strong>Download:</strong> <a href="https://github.com/Sylvan86/autoit-jit-udf/releases" rel="external nofollow">Releases</a>
</p>

<h3>
	Quick Start
</h3>

<pre class="ipsCode prettyprint lang-autoit">#include &quot;JIT.au3&quot;

; Write C code - prefix exported functions with CALLCONV
Global $sCode = _
    &#39;CALLCONV double doubleIt(double x) {&#39; &amp; @LF &amp; _
    &#39;    return x * 2.0;                 &#39; &amp; @LF &amp; _
    &#39;}&#39;

; Compile via Godbolt API
Global $mCode = _JIT_Compile($sCode)

; Call the compiled function
Global $aResult = DllCallAddress(&quot;double&quot;, $mCode.ptr + $mCode.Funcs[&quot;doubleIt&quot;], &quot;DOUBLE&quot;, 21.0)
ConsoleWrite(&quot;Result: &quot; &amp; $aResult[0] &amp; @CRLF)  ; &rarr; 42.0

; Free memory when done
_JIT_Free($mCode)</pre>

<h3>
	<br />
	Compile Once, Reuse Forever
</h3>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		Quote
	</div>

	<div class="ipsQuote_contents">
		<p>
			<strong>Please treat the Godbolt API with respect.</strong>
		</p>

		<p>
			<br />
			The <a href="https://godbolt.org/" rel="external nofollow">Compiler Explorer</a> is a free community project. Every call to <span style="font-family:monospace;">_JIT_Compile</span> sends a request to their servers. (unless you have explicitly chosen a different instance - what`s possible)
		</p>
	</div>
</blockquote>

<p>
	After the first successful compilation, save the binary string and reuse it - no further API calls needed and much faster startup:
</p>

<pre class="ipsCode prettyprint lang-autoit">; First run: compile and note the ReusableString
Global $mCode = _JIT_Compile($sCode)
ConsoleWrite($mCode.ReusableString &amp; @CRLF)  ; &rarr; save this string
_JIT_Free($mCode)

; All subsequent runs: load from saved ReusableString (no internet needed!)
Global $mCode = _JIT_LoadBinary(&#39;{&quot;b&quot;:&quot;8g9YwMM&quot;,&quot;f&quot;:{&quot;doubleIt&quot;:0}}&#39;)
Global $aResult = DllCallAddress(&quot;double&quot;, $mCode.ptr + $mCode.Funcs[&quot;doubleIt&quot;], &quot;DOUBLE&quot;, 21.0)</pre>

<p>
	See <span style="font-family:monospace;">examples/example_reuse.au3</span> in the repository for a complete walkthrough.
</p>

<h3>
	API Overview
</h3>

<ul>
	<li>
		<span style="font-family:monospace;">_JIT_Compile($sCode)</span> - Compile C code and return executable memory
	</li>
	<li>
		<span style="font-family:monospace;">_JIT_LoadBinary($sBinary)</span> - Load a previously compiled binary (no API call)
	</li>
	<li>
		<span style="font-family:monospace;">_JIT_Free($mCode)</span> - Release allocated executable memory
	</li>
	<li>
		<span style="font-family:monospace;">_JIT_SetServer(...)</span> - Configure server, compiler, language, proxy
	</li>
	<li>
		<span style="font-family:monospace;">_JIT_GetCompilers()</span> - List available compilers
	</li>
	<li>
		<span style="font-family:monospace;">_JIT_GetLanguages()</span> - List available languages
	</li>
	<li>
		<span style="font-family:monospace;">_JIT_DescribeOpcode($sOp)</span> - Get description of an assembler opcode
	</li>
</ul>

<h3>
	Limitations
</h3>

<p>
	This UDF is designed for <strong>small, self-contained code snippets</strong> - not for full C projects.
</p>

<ul>
	<li>
		<strong>No #include support</strong> - the C standard library is not available. There is no linker; the code must be fully self-contained.
	</li>
	<li>
		<strong>No math.h functions</strong> - sin(), cos(), pow() etc. require libm which is not linked. Some GCC __builtin_* functions work as inline alternatives (see <span style="font-family:monospace;">examples/example_builtins.au3</span>).
	</li>
	<li>
		<strong>Internet required for compilation</strong> - use <span style="font-family:monospace;">_JIT_LoadBinary</span> to work offline after the first compile.
	</li>
	<li>
		<strong>Single translation unit</strong> - all code must be in one string, no multi-file compilation.
	</li>
</ul>

<h3>
	Examples
</h3>

<p>
	The repository includes five examples:
</p>

<ul>
	<li>
		<strong>example_scalar.au3</strong> - Basic principle: compile and call a simple function
	</li>
	<li>
		<strong>example_array.au3</strong> - Pass an array to Kahan summation vs. naive summation
	</li>
	<li>
		<strong>example_string.au3</strong> - String processing: alternating case transformation
	</li>
	<li>
		<strong>example_builtins.au3</strong> - GCC __builtin_* functions: what works, what doesn't
	</li>
	<li>
		<strong>example_reuse.au3</strong> - Save and reload compiled binaries for offline use
	</li>
</ul>

<h3>
	Dependencies
</h3>

<ul>
	<li>
		<a href="https://github.com/Sylvan86/autoit-json-udf" rel="external nofollow">JSON.au3</a> - JSON UDF for API communication (included in release download)
	</li>
</ul>

<h3>
	Acknowledgements
</h3>

<p>
	This project would not be possible without the <strong><a href="https://godbolt.org/" rel="external nofollow">Compiler Explorer (Godbolt)</a></strong> by Matt Godbolt and contributors. It is an incredible open-source tool for the programming community. Please use their API responsibly.
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">213496</guid><pubDate>Fri, 06 Mar 2026 09:03:05 +0000</pubDate></item><item><title>au3WebDriver with Electron V40</title><link>https://www.autoitscript.com/forum/topic/213464-au3webdriver-with-electron-v40/</link><description><![CDATA[<p>
	Hello,
</p>

<p>
	I am using AutoIt to automate my Electron application. Everything worked well with an older version of Electron and Chromedriver. However, since I upgraded to the new Electron version (v40.0.0, available here: https://github.com/electron/electron/releases/tag/v40.0.0), I can no longer use Chromedriver to control the application. Nothing works anymore.
</p>

<p>
	Here is an example of the code I am using to launch the application:
</p>

<pre class="ipsCode prettyprint lang-autoit">_WD_Option(&#39;Driver&#39;, $waytochromedriver)
_WD_Option(&#39;Port&#39;, 9515)
_WD_Option(&#39;DriverParams&#39;, &#39;--verbose --log-path=&quot;&#39; &amp; @ScriptDir &amp; &#39;\chrome.log&quot;&#39;)
_WD_CapabilitiesStartup()
_WD_CapabilitiesAdd(&#39;alwaysMatch&#39;, &#39;chrome&#39;)
_WD_CapabilitiesAdd(&#39;excludeSwitches&#39;, &#39;enable-automation&#39;)
_WD_CapabilitiesAdd(&#39;w3c&#39;, True)
_WD_CapabilitiesAdd(&#39;useAutomationExtension&#39;, False)
_WD_CapabilitiesAdd(&#39;binary&#39;,&#39;ELECTRON.exe&#39;)
$sDesiredCapabilities = _WD_CapabilitiesGet()

; Launching the WebDriver console
_WD_Startup()

; Requesting the creation of a new session from the WebDriver
$sSession = _WD_CreateSession($sDesiredCapabilities)

; Waiting 50 seconds for the ELECTRON window to appear
WinWait(&quot;ELECTRON&quot;, &quot;&quot;, 50)</pre>

<p>
	Do you have any advice or feedback to make Chromedriver work with Electron v40?<br />
	Is there a specific configuration needed, or a particular version of Chromedriver required?
</p>

<p>
	Thank you in advance for your help!
</p>
]]></description><guid isPermaLink="false">213464</guid><pubDate>Tue, 17 Feb 2026 13:04:27 +0000</pubDate></item><item><title>Another AutoIt extension for Visual Studio Code</title><link>https://www.autoitscript.com/forum/topic/209759-another-autoit-extension-for-visual-studio-code/</link><description><![CDATA[<p>
	So another vscode extension for the AutoIt language emerges!
</p>

<p>
	I've tried the existing ones, and found small problems that i felt i could improve on, but it would require an entire new approach to the inner working of the existing extensions.
</p>

<p>
	Also working on a <a href="https://github.com/genius257/autoit3-pegjs" rel="external nofollow">complete AutoIt3 parser</a> a vscode extension just made sense <span><img alt=":P" data-emoticon="" height="20" src="https://www.autoitscript.com/forum/uploads/emoticons/default_tongue.png.11111111111111111111111111111111.png" srcset="https://www.autoitscript.com/forum/uploads/emoticons/tongue@2x.png 2x" title=":P" width="20" /></span>
</p>

<p>
	Any feedback is appreciated, and i hope this project will benefit more than just me <span><span class="ipsEmoji">🤡</span></span>
</p>

<p>
	 
</p>

<p>
	<a href="https://marketplace.visualstudio.com/items?itemName=genius257.autoit" rel="external nofollow">Visual Studio Code Marketplace</a>
</p>

<p>
	<a href="https://github.com/genius257/vscode-autoit" rel="external nofollow">GitHub repo</a>
</p>

<p>
	 
</p>

<p>
	Some of the current features:
</p>

<ul>
	<li>
		Basic AutoIt2 syntax highlighting, for fun <span class="ipsEmoji">🤡</span>
	</li>
	<li>
		AutoIt3 syntax highlighting
	</li>
	<li>
		Variable/Function hover gives declaration information if available.
	</li>
	<li>
		Goto declaration
	</li>
	<li>
		#include links
	</li>
	<li>
		Syntax checking, as you type
	</li>
	<li>
		Function signature help
	</li>
	<li>
		Function and variable list in a file via the outline tab.
	</li>
	<li>
		Works on desktop (any OS) and web version
	</li>
</ul>

<p>
	<span class="ipsEmoji">⚠️</span> The parser used is not yet 100% complete (<a href="https://github.com/genius257/autoit3-pegjs/issues" rel="external nofollow">see issues for know problems</a>), and the last thing to be implemented is the <a href="https://www.autoitscript.com/autoit3/docs/keywords/With.htm" rel="external">With code block</a>.
</p>

<p>
	 
</p>

<p>
	Hope you like <span class="ipsEmoji">😃</span>
</p>
]]></description><guid isPermaLink="false">209759</guid><pubDate>Fri, 24 Feb 2023 00:03:26 +0000</pubDate></item><item><title>Using .NET libary with AutoIt, possible?</title><link>https://www.autoitscript.com/forum/topic/187334-using-net-libary-with-autoit-possible/</link><description><![CDATA[
<p>
	Hi!
</p>

<p>
	Is there any way to use .NET DLL libraries with AutoIt? I happen to have one that'd have made my life easier, but DLLCall() returns an error: no functions with such name found. Searching and reading forums made me think that's not a fault of a library. I've used yashied's DLL Helper, but it didn't return any function names as well.
</p>

<p>
	Thanks!
</p>
]]></description><guid isPermaLink="false">187334</guid><pubDate>Fri, 03 Mar 2017 10:23:21 +0000</pubDate></item><item><title>Microsoft Edge - WebView2, embed web code in your native application</title><link>https://www.autoitscript.com/forum/topic/204362-microsoft-edge-webview2-embed-web-code-in-your-native-application/</link><description><![CDATA[
<p>
	Anybody could help with using QueryInterface in AutoIt to embed Microsoft Edge using WebView2 Interface ?
</p>

<p>
	Here are links to information/documentation:
</p>

<p>
	<img alt="whatwebview.png" class="ipsImage" data-ratio="50.22" height="502" width="1000" src="https://docs.microsoft.com/en-us/microsoft-edge/webview2/media/webview2/whatwebview.png" /></p>

<p>
	Image comes from: <a href="" rel="">https://docs.microsoft.com/en-us/microsoft-edge/webview2/media/webview2/whatwebview.png</a>
</p>

<p>
	<strong>Introduction to Microsoft Edge WebView2</strong><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/</a><br /><br /><strong>Understand WebView2 SDK versions</strong><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/versioning" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/versioning</a>
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		Quote
	</div>

	<div class="ipsQuote_contents">
		<ul style="background-color:#ffffff;color:#171717;font-size:16px;padding:0px;"><li style="padding:0px;">
				<strong>Win32 C/C++</strong>. When using<span> </span><code style="font-size:13.6px;padding:.1em .2em;">QueryInterface</code><span> </span>to obtain a new interface, check for a return value of<span> </span><code style="font-size:13.6px;padding:.1em .2em;">E_NOINTERFACE</code>. This value may indicate that the WebView2 Runtime is a previous version, and doesn't support that interface.
			</li>
		</ul></div>
</blockquote>

<p>
	<strong>Download:</strong><br /><a href="https://developer.microsoft.com/en-US/microsoft-edge/webview2/" rel="external nofollow">https://developer.microsoft.com/en-US/microsoft-edge/webview2/</a><br /><strong><a href="https://developer.microsoft.com/en-US/microsoft-edge/webview2/#download-section" rel="external nofollow">https://developer.microsoft.com/en-US/microsoft-edge/webview2/#download-section</a></strong><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution</a>
</p>

<p>
	<strong>API Reference:</strong><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/?view=webview2-1.0.622.22" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/?view=webview2-1.0.622.22</a><br /><br /><strong>HowTo/Concepts:</strong><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/versioning" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/versioning</a><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/win32" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/win32</a><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/howto/debug?tabs=devtools" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/howto/debug?tabs=devtools</a><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/security" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/security</a><br /><a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/userdatafolder" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/userdatafolder</a>
</p>

<p>
	<a href="https://mybuild.microsoft.com/sessions/9198aeac-0c8e-4d32-96d1-cbb99a390aa6" rel="external nofollow">https://mybuild.microsoft.com/sessions/9198aeac-0c8e-4d32-96d1-cbb99a390aa6</a>
</p>

<p>
	<strong>Example:</strong><br /><a href="https://github.com/MicrosoftEdge/WebView2Samples" rel="external nofollow">https://github.com/MicrosoftEdge/WebView2Samples</a>
</p>

<p>
	<strong>Related:</strong>
</p>

<p>
	<a href="https://www.essentialobjects.com/Products/WebBrowser/Default.aspx?gclid=CjwKCAiA17P9BRB2EiwAMvwNyMe6UI9VHej-JYDBUoyGDFz40KaaJ_RidY-75Fhr-PHz65sSVC0XlxoC5loQAvD_BwE" rel="external nofollow">https://www.essentialobjects.com/Products/WebBrowser/Default.aspx?gclid=CjwKCAiA17P9BRB2EiwAMvwNyMe6UI9VHej-JYDBUoyGDFz40KaaJ_RidY-75Fhr-PHz65sSVC0XlxoC5loQAvD_BwE</a>
</p>

<p>
	<a href="https://docs.microsoft.com/en-us/microsoft-edge/webview2/howto/webdriver" rel="external nofollow">https://docs.microsoft.com/en-us/microsoft-edge/webview2/howto/webdriver</a>
</p>

<p>
	 
</p>

<p>
	<strong>btw.</strong><br />
	I'm not WindowsApi expert (<span style="background-color:#ffffff;color:#353c41;font-size:14px;">QueryInterface, C++, DllCall</span>).<br />
	What I trying to say is:     It means that I do not done anything in this regards .... as so far.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>TIMELINE/ChangeLog:</strong><br />
	 
</p>

<ol><li>
		2020-11-12 - Project propsed by <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/10673-mlipok/?do=hovercard" data-mentionid="10673" href="https://www.autoitscript.com/forum/profile/10673-mlipok/" rel="">@mLipok</a>
	</li>
	<li>
		2021-02-03 - <a href="https://www.autoitscript.com/forum/topic/204362-microsoft-edge-webview2-embed-web-code-in-your-native-application/?do=findComment&amp;comment=1474314" rel="">First version</a> provided by <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/67609-larsj/?do=hovercard" data-mentionid="67609" href="https://www.autoitscript.com/forum/profile/67609-larsj/" rel="">@LarsJ</a>
	</li>
</ol>]]></description><guid isPermaLink="false">204362</guid><pubDate>Thu, 12 Nov 2020 10:43:37 +0000</pubDate></item><item><title>Microsoft Media Foundation</title><link>https://www.autoitscript.com/forum/topic/212824-microsoft-media-foundation/</link><description><![CDATA[<p>
	I think it would kind of interesting to put our knowledge (and time) to construct something solid around this foundation.  It was mentioned in this <a href="https://www.autoitscript.com/forum/topic/212423-need-help-to-make-a-4k-video-player/#findComment-1542463" rel="">thread</a> and I believe that it is something worth investing to.
</p>

<p>
	<a href="https://learn.microsoft.com/en-us/windows/win32/medfound/microsoft-media-foundation-sdk" rel="external nofollow">https://learn.microsoft.com/en-us/windows/win32/medfound/microsoft-media-foundation-sdk</a>
</p>

<p>
	Here a working take on playback.
</p>

<pre class="ipsCode prettyprint lang-autoit">#include &lt;StructureConstants.au3&gt;
#include &lt;GUIConstants.au3&gt;
#include &lt;Array.au3&gt;

Opt(&quot;MustDeclareVars&quot;, True)

Global Const $MF_VERSION = 0x00020070
Global Enum $MFSTARTUP_FULL, $MFSTARTUP_LITE
Local $aCall, $iHresult

$aCall = DllCall(&quot;Mfplat.dll&quot;, &quot;long&quot;, &quot;MFStartup&quot;, &quot;long&quot;, $MF_VERSION, &quot;long&quot;, $MFSTARTUP_FULL)

$aCall = DllCall(&quot;Mf.dll&quot;, &quot;long&quot;, &quot;MFCreateMediaSession&quot;, &quot;ptr&quot;, 0, &quot;ptr*&quot;, 0)
Local $pIMFMediaSession = $aCall[2]

Global Const $sIID_IMFMediaEventGenerator = &quot;(2cd0bd52-bcd5-4b89-b62c-eadc0c031e7d)&quot;
Global Const $tag_IMFMediaEventGenerator = _
    &quot;GetEvent hresult(long; ptr*);&quot; &amp; _
    &quot;BeginGetEvent hresult(ptr; ptr);&quot; &amp; _
    &quot;EndGetEvent hresult(ptr; ptr*);&quot; &amp; _
    &quot;QueueEvent hresult(uint; struct*; hresult; struct*);&quot;

Global Const $sIID_IMFMediaSession = &quot;{90377834-21d0-4dee-8214-ba2e3e6c1127}&quot;
Global Const $tag_IMFMediaSession = $tag_IMFMediaEventGenerator &amp; _
    &quot;SetTopology hresult(uint; ptr);&quot; &amp; _
    &quot;ClearTopologies hresult();&quot; &amp; _
    &quot;Start hresult(struct*; struct*);&quot; &amp; _
    &quot;Pause hresult();&quot; &amp; _
    &quot;Stop hresult();&quot; &amp; _
    &quot;Close hresult();&quot; &amp; _
    &quot;Shutdown hresult();&quot; &amp; _
    &quot;GetClock hresult(ptr*);&quot; &amp; _
    &quot;GetSessionCapabilities hresult(uint*);&quot; &amp; _
    &quot;GetFullTopology hresult(uint; uint64; ptr*);&quot;

Local $oIMFMediaSession = ObjCreateInterface($pIMFMediaSession, $sIID_IMFMediaSession, $tag_IMFMediaSession)
ConsoleWrite(&quot;oIMFMediaSession &quot; &amp; IsObj($oIMFMediaSession) &amp; @CRLF)

$aCall = DllCall(&quot;Mfplat.dll&quot;, &quot;long&quot;, &quot;MFCreateSourceResolver&quot;, &quot;ptr*&quot;, 0)
Local $pIMFSourceResolver = $aCall[1]
Global Const $sIID_IMFSourceResolver = &quot;{fbe5a32d-a497-4b61-bb85-97b1a848a6e3}&quot;
Global Const $tag_IMFSourceResolver = _
    &quot;CreateObjectFromURL hresult(wstr; uint; ptr; long*; ptr*);&quot; &amp; _
    &quot;CreateObjectFromByteStream hresult(ptr; wstr; uint; ptr; long*; ptr*);&quot; &amp; _
    &quot;BeginCreateObjectFromURL hresult(wstr; uint; ptr; ptr*; ptr; ptr);&quot; &amp; _
    &quot;EndCreateObjectFromURL hresult(ptr; long*; ptr*);&quot; &amp; _
    &quot;BeginCreateObjectFromByteStream hresult(ptr; wstr; uint; ptr; ptr*; ptr; ptr);&quot; &amp; _
    &quot;EndCreateObjectFromByteStream hresult(ptr; long*; ptr*);&quot; &amp; _
    &quot;CancelObjectCreation hresult(ptr);&quot;

Local $oIMFSourceResolver = ObjCreateInterface($pIMFSourceResolver, $sIID_IMFSourceResolver, $tag_IMFSourceResolver)
ConsoleWrite(&quot;oIMFSourceResolver &quot; &amp; IsObj($oIMFSourceResolver) &amp; @CRLF)

Global Const $MF_RESOLUTION_MEDIASOURCE = 1
Global Enum $MF_OBJECT_MEDIASOURCE, $MF_OBJECT_BYTESTREAM, $MF_OBJECT_INVALID
Local $iObjType, $pMediaSource

Local $hResult = $oIMFSourceResolver.CreateObjectFromURL(@ScriptDir &amp; &quot;\Relax.mp4&quot;, $MF_RESOLUTION_MEDIASOURCE, 0, $iObjType, $pMediaSource)

Global Const $sIID_IMFMediaSource = &quot;{279a808d-aec7-40c8-9c6b-a6b492c78a66}&quot;
Global Const $tag_IMFMediaSource = $tag_IMFMediaEventGenerator &amp; _
    &quot;GetCharacteristics hresult(uint*);&quot; &amp; _
    &quot;CreatePresentationDescriptor hresult(ptr*);&quot; &amp; _
    &quot;Start hresult(ptr; struct*; struct*);&quot; &amp; _
    &quot;Stop hresult();&quot; &amp; _
    &quot;Pause hresult();&quot; &amp; _
    &quot;Shutdown hresult();&quot;
Local $oIMFMediaSource = ObjCreateInterface($pMediaSource, $sIID_IMFMediaSource, $tag_IMFMediaSource)
ConsoleWrite(&quot;oIMFMediaSource &quot; &amp; IsObj($oIMFMediaSource) &amp; @CRLF)
Local $pIMFPresentationDescriptor
$oIMFMediaSource.CreatePresentationDescriptor($pIMFPresentationDescriptor)

Global Const $sIID_IMFAttributes = &quot;(2cd2d921-c447-44a7-a13c-4adabfc247e3)&quot;
Global Const $tag_IMFAttributes = _
    &quot;GetItem hresult(struct*; struct*);&quot; &amp; _
    &quot;GetItemType hresult(struct*; long*);&quot; &amp; _
    &quot;CompareItem hresult(struct*; struct*; bool*);&quot; &amp; _
    &quot;Compare hresult(ptr; long; bool*);&quot; &amp; _
    &quot;GetUINT32 hresult(struct*; uint*);&quot; &amp; _
    &quot;GetUINT64 hresult(struct*; uint64*);&quot; &amp; _
    &quot;GetDouble hresult(struct*; double*);&quot; &amp; _
    &quot;GetGUID hresult(struct*; struct*);&quot; &amp; _
    &quot;GetStringLength hresult(struct*; uint*);&quot; &amp; _
    &quot;GetString hresult(struct*; wstr; uint; uint*);&quot; &amp; _
    &quot;GetAllocatedString hresult(struct*; wstr*; uint*);&quot; &amp; _
    &quot;GetBlobSize hresult(struct*; uint*);&quot; &amp; _
    &quot;GetBlob hresult(struct*; struct*; uint; uint*);&quot; &amp; _
    &quot;GetAllocatedBlob hresult(struct*; ptr*; uint*);&quot; &amp; _
    &quot;GetUnknown hresult(struct*; struct*; ptr*);&quot; &amp; _
    &quot;SetItem hresult(struct*; struct*);&quot; &amp; _
    &quot;DeleteItem hresult(struct*);&quot; &amp; _
    &quot;DeleteAllItems hresult();&quot; &amp; _
    &quot;SetUINT32 hresult(struct*; uint);&quot; &amp; _
    &quot;SetUINT64 hresult(struct*; uint64);&quot; &amp; _
    &quot;SetDouble hresult(struct*; double);&quot; &amp; _
    &quot;SetGUID hresult(struct*; struct*);&quot; &amp; _
    &quot;SetString hresult(struct*; wstr);&quot; &amp; _
    &quot;SetBlob hresult(struct*; struct*; uint);&quot; &amp; _
    &quot;SetUnknown hresult(struct*; ptr);&quot; &amp; _
    &quot;LockStore hresult();&quot; &amp; _
    &quot;UnlockStore hresult();&quot; &amp; _
    &quot;GetCount hresult(uint*);&quot; &amp; _
    &quot;GetItemByIndex hresult(uint; struct*; struct*);&quot; &amp; _
    &quot;CopyAllItems hresult(ptr);&quot;

Global Const $sIID_IMFPresentationDescriptor = &quot;{03cb2711-24d7-4db6-a17f-f3a7a479a536}&quot;
Global Const $tag_IMFPresentationDescriptor = $tag_IMFAttributes &amp; _
    &quot;GetStreamDescriptorCount hresult(uint*);&quot; &amp; _
    &quot;GetStreamDescriptorByIndex hresult(uint; bool*; ptr*);&quot; &amp; _
    &quot;SelectStream hresult(uint);&quot; &amp; _
    &quot;DeselectStream hresult(uint);&quot; &amp; _
    &quot;Clone hresult(ptr*);&quot;

Local $oIMFPresentationDescriptor = ObjCreateInterface($pIMFPresentationDescriptor, $sIID_IMFPresentationDescriptor, $tag_IMFPresentationDescriptor)
ConsoleWrite(&quot;oIMFPresentationDescriptor &quot; &amp; IsObj($oIMFPresentationDescriptor) &amp; @CRLF)

; CreatePlaybackTopology

Local $hWnd = GUICreate(&quot;Basic Playback&quot;, 800, 600, -1, -1, $WS_OVERLAPPEDWINDOW)
; register msg

Global Const $sIID_IMFTopology = &quot;{83cf873a-f6da-4bc8-823f-bacfd55dc433}&quot;
Global Const $tag_IMFTopology = $tag_IMFAttributes &amp; _
  &quot;GetTopologyID hresult();&quot; &amp; _
  &quot;AddNode hresult(ptr);&quot; &amp; _
  &quot;RemoveNode hresult();&quot; &amp; _
  &quot;GetNodeCount hresult();&quot; &amp; _
  &quot;GetNode hresult();&quot; &amp; _
  &quot;Clear hresult();&quot; &amp; _
  &quot;CloneFrom hresult();&quot; &amp; _
  &quot;GetNodeByID hresult();&quot; &amp; _
  &quot;GetSourceNodeCollection hresult();&quot; &amp; _
  &quot;GetOutputNodeCollection hresult();&quot;

$aCall = DllCall(&quot;Mf.dll&quot;, &quot;long&quot;, &quot;MFCreateTopology&quot;, &quot;ptr*&quot;, 0)
Local $pIMFTopology = $aCall[1]
Local $oIMFTopology = ObjCreateInterface($pIMFTopology, $sIID_IMFTopology, $tag_IMFTopology)
ConsoleWrite(&quot;oIMFTopology &quot; &amp; IsObj($oIMFTopology) &amp; @CRLF)

Local $iCount, $bSelect, $pIMFStreamDescriptor, $oIMFStreamDescriptor
$oIMFPresentationDescriptor.GetStreamDescriptorCount($iCount)
Global Enum $MF_TOPOLOGY_OUTPUT_NODE, $MF_TOPOLOGY_SOURCESTREAM_NODE, $MF_TOPOLOGY_TRANSFORM_NODE, $MF_TOPOLOGY_TEE_NODE, $MF_TOPOLOGY_MAX = 0xFFFFFFFF
Global Const $sIID_IMFTopologyNode = &quot;{83cf873a-f6da-4bc8-823f-bacfd55dc430}&quot;
Global Const $tag_IMFTopologyNode = $tag_IMFAttributes &amp; _
  &quot;SetObject hresult(ptr);&quot; &amp; _
  &quot;GetObject hresult();&quot; &amp; _
  &quot;GetNodeType hresult();&quot; &amp; _
  &quot;GetTopoNodeID hresult();&quot; &amp; _
  &quot;SetTopoNodeID hresult();&quot; &amp; _
  &quot;GetInputCount hresult();&quot; &amp; _
  &quot;GetOutputCount hresult();&quot; &amp; _
  &quot;ConnectOutput hresult(dword;ptr;dword);&quot; &amp; _
  &quot;DisconnectOutput hresult();&quot; &amp; _
  &quot;GetInput hresult();&quot; &amp; _
  &quot;GetOutput hresult();&quot; &amp; _
  &quot;SetOutputPrefType hresult();&quot; &amp; _
  &quot;GetOutputPrefType hresult();&quot; &amp; _
  &quot;SetInputPrefType hresult();&quot; &amp; _
  &quot;GetInputPrefType hresult();&quot; &amp; _
  &quot;CloneFrom hresult();&quot;
Global Const $MF_TOPONODE_SOURCE = __COM_CreateGUID(&quot;{835c58ec-e075-4bc7-bcba-4de000df9ae6}&quot;)
Global Const $MF_TOPONODE_PRESENTATION_DESCRIPTOR = __COM_CreateGUID(&quot;{835c58ed-e075-4bc7-bcba-4de000df9ae6}&quot;)
Global Const $MF_TOPONODE_STREAM_DESCRIPTOR = __COM_CreateGUID(&quot;{835c58ee-e075-4bc7-bcba-4de000df9ae6}&quot;)
Global Const $MFMediaType_Audio = __COM_CreateGUID(&quot;{73647561-0000-0010-8000-00aa00389b71}&quot;)
Global Const $MFMediaType_Video = __COM_CreateGUID(&quot;{73646976-0000-0010-8000-00aa00389b71}&quot;)
Global Const $MF_TOPONODE_NOSHUTDOWN_ON_REMOVE = __COM_CreateGUID(&quot;{14932f9c-9087-4bb4-8412-5167145cbe04}&quot;)
Global Const $MF_TOPONODE_STREAMID = __COM_CreateGUID(&quot;{14932f9b-9087-4bb4-8412-5167145cbe04}&quot;)

Global Const $sIID_IMFStreamDescriptor = &quot;{56c03d9c-9dbb-45f5-ab4b-d80f47c05938}&quot;
Global Const $tag_IMFStreamDescriptor = $tag_IMFAttributes &amp; _
  &quot;GetStreamIdentifier hresult(ptr*);&quot; &amp; _
  &quot;GetMediaTypeHandler hresult(ptr*);&quot;

Global Const $sIID_IMFMediaTypeHandler = &quot;{e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5}&quot;
Global Const $tag_IMFMediaTypeHandler = _
  &quot;IsMediaTypeSupported hresult();&quot; &amp; _
  &quot;GetMediaTypeCount hresult();&quot; &amp; _
  &quot;GetMediaTypeByIndex hresult();&quot; &amp; _
  &quot;SetCurrentMediaType hresult();&quot; &amp; _
  &quot;GetCurrentMediaType hresult();&quot; &amp; _
  &quot;GetMajorType hresult(struct*);&quot;

Local $pSourceNode, $oSourceNode, $pIMFMediaTypeHandler, $oIMFMediaTypeHandler, $pIMFActivate
Local $pOutputNode, $oOutputNode, $tGUID = DllStructCreate($tagGUID)

For $i = 0 To $iCount - 1
  $oIMFPresentationDescriptor.GetStreamDescriptorByIndex($i, $bSelect, $pIMFStreamDescriptor)
  $oIMFStreamDescriptor = ObjCreateInterface($pIMFStreamDescriptor, $sIID_IMFStreamDescriptor, $tag_IMFStreamDescriptor)
  ConsoleWrite(&quot;oIMFStreamDescriptor &quot; &amp; IsObj($oIMFStreamDescriptor) &amp; @CRLF)
  If $bSelect Then
    ; Add a source node for this stream.
    $aCall = DllCall(&quot;Mf.dll&quot;, &quot;long&quot;, &quot;MFCreateTopologyNode&quot;, &quot;dword&quot;, $MF_TOPOLOGY_SOURCESTREAM_NODE, &quot;ptr*&quot;, 0)
    $pSourceNode = $aCall[2]
    $oSourceNode = ObjCreateInterface($pSourceNode, $sIID_IMFTopologyNode, $tag_IMFTopologyNode)
    ConsoleWrite(&quot;oSourceNode &quot; &amp; IsObj($oSourceNode) &amp; @CRLF)
    $oSourceNode.SetUnknown($MF_TOPONODE_SOURCE, $pMediaSource)
    $oSourceNode.SetUnknown($MF_TOPONODE_PRESENTATION_DESCRIPTOR, $pIMFPresentationDescriptor)
    $oSourceNode.SetUnknown($MF_TOPONODE_STREAM_DESCRIPTOR, $pIMFStreamDescriptor)
    $oIMFTopology.AddNode($pSourceNode)

    ; Create the output node for the renderer.

    $oIMFStreamDescriptor.GetMediaTypeHandler($pIMFMediaTypeHandler)
    $oIMFMediaTypeHandler = ObjCreateInterface($pIMFMediaTypeHandler, $sIID_IMFMediaTypeHandler, $tag_IMFMediaTypeHandler)
    ConsoleWrite(&quot;oIMFMediaTypeHandler &quot; &amp; IsObj($oIMFMediaTypeHandler) &amp; @CRLF)
    $oIMFMediaTypeHandler.GetMajorType($tGUID)
    If __COM_ReadGUIDAt(DllStructGetPtr($tGUID)) =  __COM_ReadGUIDAt(DllStructGetPtr($MFMediaType_Audio)) Then
      ConsoleWrite(&quot;=== audio ===&quot; &amp; @CRLF)
      $aCall = DllCall(&quot;Mf.dll&quot;, &quot;long&quot;, &quot;MFCreateAudioRendererActivate&quot;, &quot;ptr*&quot;, 0)
      $pIMFActivate = $aCall[1]
    ElseIf __COM_ReadGUIDAt(DllStructGetPtr($tGUID)) =  __COM_ReadGUIDAt(DllStructGetPtr($MFMediaType_Video)) Then
      ConsoleWrite(&quot;=== video ===&quot; &amp; @CRLF)
      $aCall = DllCall(&quot;Mf.dll&quot;, &quot;long&quot;, &quot;MFCreateVideoRendererActivate&quot;, &quot;hwnd&quot;, $hWnd, &quot;ptr*&quot;, 0)
      $pIMFActivate = $aCall[2]
    EndIf

    $aCall = DllCall(&quot;Mf.dll&quot;, &quot;long&quot;, &quot;MFCreateTopologyNode&quot;, &quot;dword&quot;, $MF_TOPOLOGY_OUTPUT_NODE, &quot;ptr*&quot;, 0)
    $pOutputNode = $aCall[2]
    $oOutputNode = ObjCreateInterface($pOutputNode, $sIID_IMFTopologyNode, $tag_IMFTopologyNode)
    ConsoleWrite(&quot;oOutputNode &quot; &amp; IsObj($oOutputNode) &amp; @CRLF)
    $oOutputNode.SetObject($pIMFActivate)
    $oIMFTopology.AddNode($pOutputNode)
    $oOutputNode.SetUINT32($MF_TOPONODE_STREAMID, 0)
    $oOutputNode.SetUINT32($MF_TOPONODE_NOSHUTDOWN_ON_REMOVE, True)

    ; Connect the source node to the output node.
    $iHresult = $oSourceNode.ConnectOutput(0, $pOutputNode, 0)
    ConsoleWrite(&quot;SourceNode.ConnectOutput &quot; &amp; $iHresult &amp; @CRLF)
  EndIf
Next

GUISetState(@SW_SHOW, $hWnd)

$iHresult = $oIMFMediaSession.SetTopology(0, $pIMFTopology)
ConsoleWrite(&quot;IMFMediaSession.SetTopology &quot; &amp; $iHresult &amp; @CRLF)
$tGUID = __COM_CreateGUID()
Local $tVtPropEmpty = DllStructCreate(&quot;align 2;ushort vt;word Pad[3]&quot;)
DllStructSetData($tVtPropEmpty, &quot;vt&quot;, 0)
$iHResult = $oIMFMediaSession.Start($tGUID, $tVtPropEmpty)

While True
  Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
      ExitLoop
  EndSwitch
WEnd

$iHresult = $oIMFMediaSession.Close()
ConsoleWrite(&quot;IMFMediaSession.Close &quot; &amp; $iHresult &amp; @CRLF)
Sleep(1000)

$iHresult = $oIMFMediaSource.Shutdown()
ConsoleWrite(&quot;IMFMediaSource.Shutdown &quot; &amp; $iHresult &amp; @CRLF)
$iHresult = $oIMFMediaSession.Shutdown()
ConsoleWrite(&quot;IMFMediaSession.Shutdown &quot; &amp; $iHresult &amp; @CRLF)
$aCall = DllCall(&quot;Mfplat.dll&quot;, &quot;long&quot;, &quot;MFShutdown&quot;)

; ===============================================================

Func __COM_CreateGUID($sGUID = &quot;{00000000-0000-0000-0000-000000000000}&quot;, $pAddress = 0)
  Local $tGUID = ($pAddress And IsPtr($pAddress)) ? DllStructCreate($tagGUID, $pAddress) : DllStructCreate($tagGUID)
  Local $aGUID = StringSplit(StringRegExpReplace($sGUID, &quot;[{}]&quot;, &quot;&quot;), &quot;-&quot;, 2)
  If UBound($aGUID) &lt;&gt; 5 Then Return SetError(1, 0, False)
  DllStructSetData($tGUID, 1, Dec($aGUID[0]))
  DllStructSetData($tGUID, 2, Dec($aGUID[1]))
  DllStructSetData($tGUID, 3, Dec($aGUID[2]))
  DllStructSetData($tGUID, 4, Binary(&quot;0x&quot; &amp; $aGUID[3] &amp; $aGUID[4]))
  Return $tGUID
EndFunc   ;==&gt;__COM_CreateGUID

Func __COM_ReadGUIDAt($pGUID)
  Local $tGUID, $sGUID
  If (Not $pGUID) Or (Not IsPtr($pGUID)) Then Return SetError(1, 0, &quot;&quot;)
  $tGUID = DllStructCreate($tagGUID, $pGUID)
  $sGUID = StringFormat(&quot;{%s-%s-%s-%s-%s}&quot;, _
      Hex(DllStructGetData($tGUID, 1), 8), _
      Hex(DllStructGetData($tGUID, 2), 4), _
      Hex(DllStructGetData($tGUID, 3), 4), _
      StringMid(DllStructGetData($tGUID, 4), 3, 4), _
      StringMid(DllStructGetData($tGUID, 4), 7, 12))
  Return $sGUID
EndFunc   ;==&gt;__COM_ReadGUIDAt</pre>

<p>
	ps. it is very linear, but later code is structured as it should be (see solution).
</p>
]]></description><guid isPermaLink="false">212824</guid><pubDate>Tue, 08 Apr 2025 21:58:52 +0000</pubDate></item><item><title>Fast array functions concept [feedback wanted]</title><link>https://www.autoitscript.com/forum/topic/212939-fast-array-functions-concept-feedback-wanted/</link><description><![CDATA[<p>
	So AutoIt does not have a good (fast) solution for things like:
</p>

<ul>
	<li>
		taking part of an array as a new array
	</li>
	<li>
		adding element(s) at the start or middle of the array
	</li>
</ul>

<p>
	In general array manipulation requires a loop, not a fast solution in AutoIt.
</p>

<p>
	 
</p>

<p>
	I'm thinking using IDispatch to handle variable transfer between normal variables and the raw variant pointers.
</p>

<p>
	And fasm to do the array manipulation, importing the OleAut32 functions for variant manipulation.
</p>

<p>
	 
</p>

<p>
	I expect this solution to be fast, and only require AutoIt and a fasm DLL, to work.
</p>

<p>
	My biggest issue currently is my lack of experience with ASM. I could try to throw something together, but would prefer help from someone, who actually knows what they are doing <span><span><img alt=":P" data-emoticon="" height="20" src="https://www.autoitscript.com/forum/uploads/emoticons/default_tongue.png.11111111111111111111111111111111.png" srcset="https://www.autoitscript.com/forum/uploads/emoticons/tongue@2x.png 2x" title=":P" width="20" /> </span></span>
</p>

<p>
	 
</p>

<p>
	<span><span>Any feedback on this idea is appreciated <span><img alt=":)" data-emoticon="" height="20" src="https://www.autoitscript.com/forum/uploads/emoticons/default_smile.png.11111111111111111111111111111111.png" srcset="https://www.autoitscript.com/forum/uploads/emoticons/smile@2x.png 2x" title=":)" width="20" /></span></span></span>
</p>
]]></description><guid isPermaLink="false">212939</guid><pubDate>Fri, 13 Jun 2025 21:06:20 +0000</pubDate></item><item><title>[Completed] Volunteers wanted &#x1F440; to test an AutoIt + SQLite project</title><link>https://www.autoitscript.com/forum/topic/212736-completed-volunteers-wanted-%F0%9F%91%80-to-test-an-autoit-sqlite-project/</link><description><![CDATA[<p>
	Hi everyone <span class="ipsEmoji">👋</span> ,
</p>

<p>
	thank you in advance for looking at the little project and for thinking about supporting it (me) <span class="ipsEmoji">😀</span> .
</p>

<p>
	<span style="color:#27ae60;"><strong>Introduction</strong></span><br />
	I have a small AutoIt + SQLite GitHub project (<a href="https://github.com/sven-seyfert/sqlite-showcase" rel="external nofollow">sqlite-showcase</a>). This serves at <span class="ipsEmoji">1️⃣</span>. glance to demonstrate how to use SQLite using concrete examples. If questions arise in the English or German forum about SQLite, I can provide direct assistance using the project and its example data. As <span class="ipsEmoji">2️⃣</span>. perspective, this project is intended as a module for a subsequent project that deals with something more than "just" AutoIt + SQLite - but more on that another time.
</p>

<p>
	<img alt="logo.png" data-ratio="100.00" src="https://raw.githubusercontent.com/sven-seyfert/sqlite-showcase/main/assets/images/logo.png" />
</p>

<p>
	I deliberately refrain from writing and explaining too many details here, because it is important to me, among other things, that the explanation on GitHub, in the form of a README file, can be handled or whether I need to make improvements there.
</p>

<p>
	<span style="color:#c0392b;"><strong>Testing</strong></span><br />
	So far I have been able to test the project under Windows 10 (x64), with AutoIt v3.3.16.1 and with SQLite v3.49.0. Due to the support of the german AutoIt forum member(s), I could also test with Windows 11. Now I would be very happy if someone among you (several people are welcome) <span class="ipsEmoji">🤗</span> would test other system configurations. See the following <a href="https://github.com/sven-seyfert/sqlite-showcase/tree/main?tab=readme-ov-file#tested-with--system-under-test-sut" rel="external nofollow">table</a>:
</p>

<p>
	The test consists of the following parts:
</p>

<ul>
	<li>
		Read the README, understand what to do ==&gt; If there are already problems understanding this, then I have to make improvements.
	</li>
	<li>
		Setting up the project (getting started) ==&gt; Is the explanation in the README sufficient?
		<ul>
			<li>
				You can test it on Windows 10 x86? Then please, great.
			</li>
			<li>
				Do you have an old version of AutoIt that you can test with? That's exactly what I need ==&gt; Thanks.
			</li>
			<li>
				You want to try a different SQLite version? Why not, I appreciate it.
			</li>
		</ul>
	</li>
	<li>
		Are the few SQLite functions running correctly or are there any errors? They shouldn't, but if they do, please let me know.
	</li>
</ul>

<p>
	<span style="color:#f1c40f;"><strong>Preconditions</strong></span><br />
	You <strong>don't</strong> need Git or GitHub, although Git is an advantage. A simple download of the project (zip) is completely sufficient (see <a href="https://github.com/sven-seyfert/sqlite-showcase/blob/main/README.md" rel="external nofollow">README</a>).<br />
	Just a little time, curiosity, interest in learning something new or putting my approach to the test <span class="ipsEmoji">😅</span> .
</p>

<p>
	<span class="ipsEmoji">🔥</span> CHANGELOG can be found <a href="https://github.com/sven-seyfert/sqlite-showcase/blob/main/CHANGELOG.md" rel="external nofollow">here</a>.
</p>

<p>
	---------------------------------
</p>

<p>
	Thank you very much for your interest and for your support. If you have any questions, please let me know. Thanks.
</p>

<p>
	Best regards<br />
	Sven
</p>

<p>
	 
</p>

<p>
	<strong>Update: Testing complete.</strong>
</p>

<p>
	<img alt="sqlite-showcase-tested-with.png" class="ipsImage" data-ratio="51.49" height="328" width="637" src="https://raw.githubusercontent.com/sven-seyfert/Au3Forums/refs/heads/main/example-images/sqlite-showcase-tested-with.png" />
</p>
]]></description><guid isPermaLink="false">212736</guid><pubDate>Tue, 25 Feb 2025 19:11:30 +0000</pubDate></item><item><title>AutoIt Cheat Sheet</title><link>https://www.autoitscript.com/forum/topic/209661-autoit-cheat-sheet/</link><description><![CDATA[<p>
	Hi folks <span class="ipsEmoji">👋</span> ,
</p>

<p>
	I was thinking about how I decide to learn a new programming language. I mean, apart of professional requirements, there are some criteria for how I (and also some of my colleagues) choose a new technology or programming language. To get a good overview about how the language is written, how the syntax looks like and fits this my interests and expectations, I use cheat sheets for the specific programming language, a technology or methodology.
</p>

<p>
	Also for experienced programmers who want to switch a language or as an addition, it could be helpful to understand some basics, syntax etc.
</p>

<ul><li>
		Is there any cheat sheet for AutoIt? I didn't find any.
	</li>
	<li>
		Do we need it as a community or at least would it be helpful?
	</li>
	<li>
		Would there be some of you supporting the idea of creating one?
	</li>
	<li>
		Do some of you know about templates that could be used (out of the box)?
	</li>
</ul><p>
	In case you are not familiar with the topic¹ and you do not know what I am talking about, please simple do a google search for "cheat sheet programming languages".
</p>

<p>
	<span class="ipsEmoji">💡</span> There are hundreds of them, but non of these are for the AutoIt language². To spread this wonderful language to more people in the world, to support the accessibility, it should be a "must have" (among other things).
</p>

<p>
	<strong>I plan to build one =&gt; in best case as a community project with several of yours.<br />
	Who wants to join?</strong>
</p>

<p>
	Best regards<br />
	Sven
</p>

<p>
	¹ A cheat sheet is a quick look-up reference chart or set of simple, brief instructions for accomplishing a specific task.<br />
	² It does not matter whether it's a PDF or a image in the forum which is well linked and present (next to the help) or a website.
</p>

<p>
	 
</p>

<p>
	<strong><span style="color:#16a085;"><span class="ipsEmoji">📅</span> Update 2023-02-21:</span></strong>
</p>

<p>
	<strong>AutoIt (en) Cheat Sheet</strong>
</p>

<ul><li>
		<span style="background-color:#ffffff;color:#2c3e50;font-size:14px;text-align:left;"><span class="ipsEmoji">🔗</span><span> </span></span>AutoIt (en) Cheat Sheet <a href="https://cheatography.com/solve-smart/cheat-sheets/autoit-en/" rel="external nofollow">as website</a> on cheatography (a website which is made to create and publish cheat sheets by the help of templates)
	</li>
	<li>
		<span style="background-color:#ffffff;color:#2c3e50;font-size:14px;text-align:left;"><span class="ipsEmoji">🔗</span><span> </span></span>AutoIt (en) Cheat Sheet <a href="https://cheatography.com//solve-smart/cheat-sheets/autoit-en/pdf/" rel="external nofollow">as PDF</a> (generated by cheatography)
		<ul><li>
				<span style="background-color:#ffffff;color:#2c3e50;font-size:14px;text-align:left;"><span class="ipsEmoji">🔗</span></span> <a href="https://github.com/Sven-Seyfert/Au3Forums/raw/main/autoitscript-com/209661-autoit-cheat-sheet/solve-smart_autoit-en.pdf" rel="external nofollow">Alternative Link</a> to the PDF
			</li>
		</ul></li>
</ul>]]></description><guid isPermaLink="false">209661</guid><pubDate>Fri, 10 Feb 2023 20:35:58 +0000</pubDate></item><item><title>Webdriver, Websockets, and Chrome DevTools Protocol ... Oh my! &#x200B;&#x1F61C;</title><link>https://www.autoitscript.com/forum/topic/206278-webdriver-websockets-and-chrome-devtools-protocol-oh-my-%E2%80%8B%F0%9F%98%9C/</link><description><![CDATA[<p>
	Hi All,
</p>

<p>
	I have been working on an enhancement to the WebDriver UDF that will make _WD_ExecuteCDPCommand compatible with all major browsers instead of Chrome only. This involves using WebSockets to pass commands back and forth to the browser.
</p>

<p>
	Attached to this post are two files --
</p>

<ul><li>
		winhttp_websocket.au3 -- This is a modified version of code originally posted to the forum by <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/42741-firefox/?do=hovercard" data-mentionid="42741" href="https://www.autoitscript.com/forum/profile/42741-firefox/" rel="">@FireFox</a>.
	</li>
	<li>
		genericcdp.au3 -- This contains the enhanced version of _WD_ExecuteCDPCommand (original version by <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/89462-thedcoder/?do=hovercard" data-mentionid="89462" href="https://www.autoitscript.com/forum/profile/89462-thedcoder/" rel="">@TheDcoder</a>) and a new function named _WD_GetCDPSettings
	</li>
</ul><p>
	You can run genericcdp.au3 for a brief example of how the new functionality works. Comment / uncomment the appropriate lines near the beginning to control while browser gets tested.
</p>

<p>
	<u>Prerequisites</u>
</p>

<ul><li>
		You'll obviously need the WebDriver UDF installed and working for this code to have a chance of working correct. <span class="ipsEmoji">🙄</span>
	</li>
	<li>
		You need to be running an OS that supports WebSockets natively (ie: Windows 8 / Windows Server 2012 or newer)
	</li>
</ul><p>
	<u>Caveats</u><br />
	Chromium-based browsers return some unexpected status codes in response to _WinHttpWebSocketClose and _WinHttpWebSocketQueryCloseStatus, so I've included checks to ignore these.
</p>

<p>
	<u>Needs</u><br />
	I would appreciate it if I could get some feedback / suggestions for improvement on these proposed changes.
</p>

<p>
	FWIW, I have only performed these basic CDP commands. Feel free to experiment with <a href="https://chromedevtools.github.io/devtools-protocol/" rel="external nofollow">other CDP commands</a> and report back on your successes / failures.
</p>

<p>
	Thanks,
</p>

<p>
	Dan
</p>

<p>
	<a class="ipsAttachLink" data-fileext="au3" data-fileid="68798" href="https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=68798" rel="">genericcdp.au3</a> <a class="ipsAttachLink" data-fileext="au3" data-fileid="68800" href="https://www.autoitscript.com/forum/applications/core/interface/file/attachment.php?id=68800" rel="">winhttp_websocket.au3</a>
</p>]]></description><guid isPermaLink="false">206278</guid><pubDate>Sat, 17 Jul 2021 17:21:20 +0000</pubDate></item><item><title>AutoIt help file for dark environment</title><link>https://www.autoitscript.com/forum/topic/211640-autoit-help-file-for-dark-environment/</link><description><![CDATA[<p>
	I work in a dark environment but the help file is "light". Here's a pic.:<br />
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="76110" href="https://www.autoitscript.com/forum/uploads/monthly_2024_03/image.png.c67c736e6d0d4b92f04e33f9bebd0dda.png" rel=""><img alt="image.thumb.png.4ff771f3361d41d8603667c91d28f3bd.png" class="ipsImage ipsImage_thumbnailed" data-fileid="76110" data-ratio="60.80" width="1000" src="https://www.autoitscript.com/forum/uploads/monthly_2024_03/image.thumb.png.4ff771f3361d41d8603667c91d28f3bd.png" /></a>
</p>

<p>
	My idea is to have a CSS with dark settings
</p>

<pre class="ipsCode prettyprint lang-css">/* JPM: modified to use inheritage widely
* 	em sizing to better zooming
* 	coloring similar to MSDN Web
*/

:root {
  color-scheme: dark
}

html {
    font-family:&#39;Segoe UI&#39;,&#39;Lucida Grande&#39;,Verdana,Arial,Helvetica,sans-serif;
    font-size:.8125em
/* 13px; */
}

body {
    background-color:#111;
    color:#ddd;
    font-weight:400;
    max-width: 1080px;
    margin: 10px;
}

table {
    border-collapse:collapse;
    border-color:silver;
    border-style:solid;
    border-width:1px;
    margin-top:5px;
    width:100%
}

table.noborder {
    border-width:0
}

th {
/* font-size:.875em;  /* 14px; DOCTYPE without .dld */
    background-color:#2f2f2f; /* #ededed; */
    border-color:silver;
    border-style:solid;
    border-width:1px;
    color:#707070;
    padding:4px;
    text-align:left
}

th.new {
    width:224px
}

th.old {
    width:226px
}

th.width25 {
    width:25%
}

th.width75 {
    width:75%
}

tr {
    padding:4px
}

tr.yellow,tr.yellowbold {
    background-color:#808000 /* #ffff9C */
}

tr.Moccasin{
    background-color:#784a0e /* #FFE4B5 */
}

tr.yellowbold {
    font-weight:700
}

table td {
/* font-size:.875em;  /* 14px; DOCTYPE without .dld */
    border-color:silver;
    border-style:solid;
    border-width:1px;
    padding:4px
}

table.noborder td {
    border-width:0
}

td.center {
    text-align:center
}

td.right {
    text-align:right
}

td.sep {
    border-color:#111 silver
}

b {
    font-weight:700
}

u {
    text-decoration:underline
/* for HTML5 compatibility if needed */
}

p {
    margin:0;
    padding-bottom:5px;
    padding-top:5px
}

p.center {
    text-align:center
}

span.underline {
    text-decoration:underline
}

.funcdesc {
    font-size:1.25em
/* 20px; */
}

ul.cell {
    margin:0 0 0 25px
}

div.indent {
    margin-left:32px
}

a,a:link {
    color:#00709f
}

a:visited {
    color:#03697a
}

a:active {
    color:#2a2a2a
}

a:hover {
    color:#3390b1
}

a,a:link,a:visited,a:active {
    text-decoration:none
}

a:hover {
    text-decoration:underline
}

a.ext:link,a.ext:visited,a.ext:active {
    text-decoration:underline
}

a.codeSnippetLink:hover {
    text-decoration:underline
}

h1 {
    color:#707070;
    font-size:2.75em;
/* 36-44px; */
    font-weight:400;
    margin:0;
    padding-bottom:15px;
    padding-top:15px
}

.small {
    font-size:.875em;
/* 12-14px; */
    margin:-12px 0 -4px;
    padding-bottom:0;
    padding-top:9px
}

h2 {
    color:#db7100;
    font-size:1.5em;
/* 24px; */
    font-weight:400;
    line-height:normal;
    margin:0;
    padding-bottom:5px;
    padding-top:25px
}

h3 {
    color:#0073e6; /* navy; */
    font-size:1.0625em;
/* 17px; */
    font-weight:700;
    line-height:normal;
    margin-bottom:0;
    margin-left:5px
}

pre,.code,.codeheader,.codebox {
    font-family:&quot;Courier New&quot;,Courier,monospace
}

.code {
    white-space:nowrap
}

.codeheader {
    background-color:#565656; /* #ffa; */
    border-bottom:1px solid #ffa; /* #aaa; */
    border-left:1px solid #ffa;
    border-right:1px solid #ffa;
    border-top:1px solid #ffa;
    padding:16px;
    white-space:normal
}

.codebox {
    border-bottom:1px solid #aaa;
    border-left:1px solid #aaa;
    border-right:1px solid #aaa;
    border-top:1px solid #aaa;
    color:#465584;
    overflow-x:auto;
    padding:8px 8px 16px;
    margin-top:5px;
    white-space:nowrap;
    width:99%
}

.S0 {
    color:#CaCaCa /* #2a2a2a */
}

.S1 {
    color:#609F60;
    font-style:italic
}

.S2 {
    color:#609F60; /* green; */
    font-style:italic
}

.S3 {
    color:#C0FFFF /* blue */
}

.S4 {
    color:#8080FF /* #000090 */
}

.S5 {
    color:#C080C0 /* blue */
}

.S6 {
    color:olive
}

.S7 {
    color:#F0E090 /* red */
}

.S8 {
    color:#FF8000
}

.S9 {
    color:#D0D0D0 /* #2a2a2a */
}

.S10 {
    color:gray
}

.S11 {
    color:#8996A7 /* olive */
}

.S12 {
    color:#dc143c
}

.S13 {
    background-color:#DDE8F0;
    color:red
}

.S14 {
    color:#993399 /* #939 */
}

.S15 {
    color:#0080ff
}

.bottom {
    padding-bottom:0;
    margin-bottom:0
}

.experimental {
    background-color:#ffffe0;
    border:solid;
    border-color:red;
    font-size:1.5em;
/* 24px; */
    font-weight:700;
    margin:12px;
    padding:4px
}

.specialnote {
    background-color:#fffffa;
    border:solid;
    border-color:blue;
    font-size:1.5em;
/* 24px; */
    font-weight:500;
    padding:4px
}

img.logo_v3 {
    /* box-shadow:5px 5px 20px #aaa */
}

.noPageBreak {
    page-break-inside:avoid
}

/* adapted from MSDN Web for example code open/copy actions */
.codeSnippetContainer {
    min-width:260px;
    margin:0;
    padding:0
}

.codeSnippetContainerTabs {
    font-size:.8333em;
/* 13.33px 10pt!important; */
    height:20px;
/* 22px; */
    position:relative;
    vertical-align:middle;
    z-index:1
}

.codeSnippetContainerTab {
/* background:none repeat scroll 0 0 #eff5ff; */
    border-bottom:2px solid #d0d2d2;
    border-top:1px solid #bbb;
    border-left:1px solid #929292;
    float:left;
    height:20px;
/* 19px; */
    padding:0 4px;
/* 0 8px; */
    width:auto;
    overflow:hidden;
    position:relative;
    font-weight:400
}

/* MSDN not used
* .codeSnippetContainerTabActive
* {
* 	height:21px;
* 	background:none repeat scroll 0 0 #111;
* 	border-left:1px solid #bbb;
* 	border-bottom:none;
* }
* 
* .codeSnippetContainerTabFirst
* {
* 	border-radius:4px 0 0 0;
* 	padding:0 8px 0 6px;
* }
* 
* .codeSnippetContainerTabLast
* {
* 	border-right:1px solid #bbb;
* 	border-radius:0 4px 0 0;
* 	padding:0 6px 0 8px;
* }
*/
.codeSnippetContainerTabSingle {
    border:none;
    color:#00709f;
/* #e66a38; */
    vertical-align:baseline;
    top:10px;
/* 8px; */
    left:12px;
/* 7px; */
    position:relative;
    background-color:#111
}

.codeSnippetContainerTabSingle a {
    color:#e66a38
/* !important; */
}

.codeSnippetContainerTab a,.codeSnippetContainerTab a:link,.codeSnippetContainerTab a:visited,.codeSnippetContainerTab a:active {
    color:#1364c4;
    text-decoration:none
}

/* MSDN not used
* .codeSnippetContainerTabActive a,.codeSnippetContainerTabActive a:link,.codeSnippetContainerTabActive a:visited,.codeSnippetContainerTabActive a:active
* {
* 	color:#e66a38;
* 	text-decoration:none;
* 	position:relative;
* }
* 
* .codeSnippetContainerTabPhantom a,.codeSnippetContainerTabPhantom a:link,.codeSnippetContainerTabPhantom a:visited,.codeSnippetContainerTabPhantom a:active
* {
* 	color:#c2c2c2;
* 	text-decoration:none;
* 	position:relative;
* }
* 
* .codeSnippetContainerTabPhantom a:link,.codeSnippetContainerTabPhantom a:visited,.codeSnippetContainerTabPhantom a:active
* {
* 	color:#707070;
* 	text-decoration:none;
* 	position:relative;
* }
*/
.codeSnippetContainerTab a:hover {
    color:#e66a38;
    position:relative
}

/* MSDN not used
* .codeSnippetContainerTabPhantom a:hover
* {
* 	color:#c2c2c2;
* 	position:relative;
* }
*/
.codeSnippetContainerCodeContainer {
    border-bottom:3px solid #5e5e5e; /* #e5e5e5; */
    border-left:3px solid #5e5e5e;
/* 1px */
    border-right:3px solid #5e5e5e;
/* 1px */
    clear:both;
    margin-bottom:0;
/* 12px; */
    position:relative;
    top:-3px
}

.codeSnippetToolBar {
    border-left:0 solid #5e5e5e;
/* 1px */
    border-right:0 solid #5e5e5e;
/* 3px */
    border-top:3px solid #5e5e5e;
    height:auto;
    width:auto
}

div.codeSnippetToolBarText {
    float:right;
    top:-12px;
/* -8px; */
    position:relative;
    background-color:#111;
    width:auto;
    padding-left:4px;
    padding-right:4px;
    height:0;
    vertical-align:top
}

div.codeSnippetToolBarText&gt;a:link,div.codeSnippetToolBarText&gt;a:visited,div.codeSnippetToolBarText&gt;a:active {
/* display:none; */
    margin-left:5px;
    margin-right:5px;
/* font-size:100%; /* 83.33%; /* 10pt */
/* font-style:400!important; */
/* color:#1364c4; */
    text-decoration:none;
    background-color:#111;
    padding-left:4px;
    padding-right:4px
}

div.codeSnippetToolBarText&gt;a:hover {
    text-decoration:underline
}

.codeSnippetContainerCode {
    margin-top:14px;
/* 0; */
    padding:5px 10px;
/* 9px 21px; */
    width:auto
}

.codeSnippetContainerCode div {
    padding:0;
    margin:0
}

.codeSnippetContainerCode pre {
    padding-left:5px;
/* 5px; */
    margin:0;
/*word-break:break-all;*/
    font-style:normal;
    font-weight:400;
    overflow:auto;
    word-wrap:normal
}

#hhctrl {
    vertical-align:middle
}

#hhctrl-bottom {
    vertical-align:bottom
}

.codeSnippetContainerTab object {
    cursor:pointer;
    text-decoration:underline
}

.valign-top {
    vertical-align:text-top
}</pre>

<p>
	as to see something more like: <em>( and this is just my browser over the help file to present the idea )</em><br />
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="76111" href="https://www.autoitscript.com/forum/uploads/monthly_2024_03/image.png.89fe05b5bff16119a2e05ebc17a8fc74.png" rel=""><img alt="image.thumb.png.4eeed732e3fb911ddb370cd0462c980d.png" class="ipsImage ipsImage_thumbnailed" data-fileid="76111" data-ratio="59.60" width="1000" src="https://www.autoitscript.com/forum/uploads/monthly_2024_03/image.thumb.png.4eeed732e3fb911ddb370cd0462c980d.png" /></a>
</p>

<p>
	the issues are that -I'm not color blind but- coloring is something am not good at.
</p>

<p>
	If I ask to get this done, it has to be definitive, as in "use this CSS for an alt. coloring", but if tomorrow I'm like,<em> let's change this a little bit, today I woke up with the idea of pastels, </em>I'm gonna get kicked in ... the code. 
</p>

<p>
	<em>If you need to get the files from the CHM to have a go at it run <strong>hh.exe -decompile C:\SomePath\Folder AutoIt.chm</strong> to get to edit and test the colors ( in html\css\default.css ).</em>
</p>

<p>
	Am asking for collaboration to have acceptable colors, given that my coloring skill leave much to be desired and in consensus we all can come to a globally acceptable coloring scheme. Post your CSS if you made one.
</p>

<p>
	Thanks.
</p>
]]></description><guid isPermaLink="false">211640</guid><pubDate>Sat, 09 Mar 2024 15:17:15 +0000</pubDate></item><item><title>Why not merge Ring programming language and AutoIt?</title><link>https://www.autoitscript.com/forum/topic/211544-why-not-merge-ring-programming-language-and-autoit/</link><description><![CDATA[<p>
	Hello friends, I don't know if any of you are familiar with or use the Ring programming language. You can find more information about it at <a href="https://ring-lang.github.io/" rel="external nofollow">https://ring-lang.github.io/</a>" is fantastic language 
</p>

<p>
	easy like Autoit but power like c and c++ and multiplatform , I wanted to suggest if possible a potential merger with AutoIt or a fork because it could allow for the integration of AutoIt or whatever may come out of it (a combination like AutoRing or a separate project named Ringo). I have already created some classes in the AutoIt style
</p>

<pre class="ipsCode prettyprint lang-autoit">
func GuiCtrlComboBox(Refer,X,Y,Xw,Yh,alist,Tooltip){
        new QComboBox(Refer) {
                        settooltip(Tooltip)
                        setGeometry(X,Y,Xw,Yh)
                        oFont = new qfont(&quot;&quot;,0,0,0)
			oFont.fromstring(&quot;Arial,8,-1,5,50,0,0,0,0,0,Regular&quot;)
			setfont(oFont)
			oFont.delete()
                        for x in aList additem(x,0) next
                }
}

 GUICtrlCreateButton(pageCO1,5,60,51,25,&quot;BUYmk&quot;,&quot;pWork()&quot;,&quot;Green&quot;,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,163,60,51,25,&quot;SELLmk&quot;,&quot;pWork()&quot;,&quot;Red&quot;,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,5,90,51,25,&quot;BUYlmt&quot;,&quot;pWork()&quot;,&quot;Green&quot;,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,163,90,51,25,&quot;SELLlmt&quot;,&quot;pWork()&quot;,&quot;Red&quot;,&quot;&quot;)
                         sBuyLimtImput=GUICtrlCreateInput(pageCO1,5,120,90,21,&quot;&quot;)
                         sSellLimtImput=GUICtrlCreateInput(pageCO1,124,120,90,21,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,5,145,75,25,&quot;BUYStplmt&quot;,&quot;pWork()&quot;,&quot;Green&quot;,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,140,145,75,25,&quot;SELLStplmt&quot;,&quot;pWork()&quot;,&quot;Red&quot;,&quot;&quot;)
                         sBuy4STPImput=GUICtrlCreateInput(pageCO1,5,175,90,21,&quot;&quot;)
                         sBuy4LimtImput=GUICtrlCreateInput(pageCO1,5,195,90,21,&quot;&quot;)
                         sSell4STPImput=GUICtrlCreateInput(pageCO1,124,175,90,21,&quot;&quot;)
                         sSell4LimtImput=GUICtrlCreateInput(pageCO1,124,195,90,21,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,5,220,75,25,&quot;BUYOCO&quot;,&quot;pWork()&quot;,&quot;Green&quot;,&quot;&quot;)
                         GUICtrlCreateButton(pageCO1,140,220,75,25,&quot;SELLOCO&quot;,&quot;pWork()&quot;,&quot;Red&quot;,&quot;&quot;)
                         sBuyOCOSTPImput=GUICtrlCreateInput(pageCO1,5,250,90,21,&quot;&quot;)
                         sBuyLimtOCOImput=GUICtrlCreateInput(pageCO1,5,270,90,21,&quot;&quot;)</pre>

<p>
	In my opinion, the weaknesses of Ring are: limited documentation and support only through the mailing list, making it challenging to retrieve discussions that could be beneficial for growth. It would be great to see a merger or fork to create a unified community.
</p>

<p>
	 
</p>

<p>
	Ring is a dynamic programming language designed to provide a simple and versatile development environment. Here are some of its strengths:
</p>

<ol>
	<li>
		<p>
			<strong>Clean and clear syntax:</strong> Ring is designed with a clear and readable syntax, making it accessible even to those new to programming. This contributes to easy code understanding and rapid development.
		</p>
	</li>
	<li>
		<p>
			<strong>Multi-paradigm:</strong> Ring supports multiple programming paradigms, including imperative, functional, and object-oriented programming. This allows developers to use programming styles that best suit their project needs.
		</p>
	</li>
	<li>
		<p>
			<strong>Dynamic typing:</strong> Ring is a dynamically typed language, meaning that the type of a variable is resolved at runtime. This provides greater flexibility during development, allowing for more concise and adaptable code.
		</p>
	</li>
	<li>
		<p>
			<strong>Portability:</strong> Ring is designed to be highly portable and can run on various platforms, including Windows, Linux, and macOS,Android without requiring significant modifications to the source code.
		</p>
	</li>
	<li>
		<p>
			<strong>Integrated libraries:</strong> Ring includes a set of integrated libraries to facilitate application development. These libraries cover a wide range of functionalities, from string handling to file manipulation, making it easier to create complex software.
		</p>
	</li>
</ol>
]]></description><guid isPermaLink="false">211544</guid><pubDate>Thu, 22 Feb 2024 20:59:30 +0000</pubDate></item><item><title>Collection of GitHub users (with AutoIt projects)</title><link>https://www.autoitscript.com/forum/topic/209411-collection-of-github-users-with-autoit-projects/</link><description><![CDATA[<p>
	Hi folks <span class="ipsEmoji">👋</span> ,
</p>

<p>
	I know about several of us do have AutoIt projects on GitHub.<br />
	In this hopefully growing collection I want to list forum members and their GitHub projects (AutoIt based).
</p>

<p>
	<u>Why?</u><br />
	One use case could be the contribution to some of their projects.<br />
	Assume that AutoIt projects are not that wide spreaded or supported in terms of contribution (participation), as JavaScript projects for example.
</p>

<ul>
	<li>
		Wouldn't it be nice to get more contribution on your project?
	</li>
	<li>
		Wouldn't it be nice to work on bigger projects in a community?
	</li>
</ul>

<p>
	I personally would love to <span class="ipsEmoji">😀</span> .
</p>

<p>
	<u>Disclaimer:</u><br />
	As the GitHub profiles (and repositories), I will list here, are public and your profiles either findable by your signature, your "About Me" page or by a simple Google or GitHub search <span class="ipsEmoji">🔍</span> , I see no restriction to collect these kind of information and post it here. In case you don't agree with this visualisation and you don't want to be listet here, please let me know and I will remove that entry as soon as possible <span class="ipsEmoji">🤝</span> . I really hope that fits your feeling about it.
</p>

<p>
	<u>Collection (in progress):</u>
</p>

<p>
	<span><strong>@Forum username</strong> » <strong>GitHub username</strong> » <strong>Link to the GitHub projects</strong> (filtered by language=autoit)</span>
</p>

<ul>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/113165-alan72104/?do=hovercard" data-mentionid="113165" href="https://www.autoitscript.com/forum/profile/113165-alan72104/" rel="">@Alan72104</a> » Alan72104 » <a href="https://github.com/Alan72104?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/117123-alexanr1/?do=hovercard" data-mentionid="117123" href="https://www.autoitscript.com/forum/profile/117123-alexanr1/" rel="">@alexanr1</a> » alexanr1 » <a href="https://github.com/alexanr1?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/90586-aspirinjunkie/?do=hovercard" data-mentionid="90586" href="https://www.autoitscript.com/forum/profile/90586-aspirinjunkie/" rel="">@AspirinJunkie</a> » Sylvan86 » <a href="https://github.com/Sylvan86?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/77744-centrally/?do=hovercard" data-mentionid="77744" href="https://www.autoitscript.com/forum/profile/77744-centrally/" rel="">@Centrally</a></span></span> » ellysh » <a href="https://github.com/ellysh?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/29736-danp2/?do=hovercard" data-mentionid="29736" href="https://www.autoitscript.com/forum/profile/29736-danp2/" rel="">@Danp2</a> » Danp2 » <a href="https://github.com/Danp2?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/71248-danyfirex/?do=hovercard" data-mentionid="71248" href="https://www.autoitscript.com/forum/profile/71248-danyfirex/" rel="">@Danyfirex</a></span></span> » DanysysTeam » <a href="https://github.com/orgs/DanysysTeam/repositories?q=&amp;type=all&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/102275-donchunior/?do=hovercard" data-mentionid="102275" href="https://www.autoitscript.com/forum/profile/102275-donchunior/" rel="">@DonChunior</a> » DonChunior » <a href="https://github.com/DonChunior?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/81064-ergo/?do=hovercard" data-mentionid="81064" href="https://www.autoitscript.com/forum/profile/81064-ergo/" rel="">@ergo</a> » seizu » <a href="https://github.com/seizu?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=%C2%A0" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/76898-genius257/?do=hovercard" data-mentionid="76898" href="https://www.autoitscript.com/forum/profile/76898-genius257/" rel="">@genius257</a></span> » genius257 » <a href="https://github.com/genius257?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/92835-j2team/?do=hovercard" data-mentionid="92835" href="https://www.autoitscript.com/forum/profile/92835-j2team/" rel="">@J2TeaM</a> » J2TEAM » <a href="https://github.com/J2TEAM?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/18298-james/?do=hovercard" data-mentionid="18298" href="https://www.autoitscript.com/forum/profile/18298-james/" rel="">@James</a></span> » jbrooksuk » <a href="https://github.com/jbrooksuk?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/75137-jefrey/?do=hovercard" data-mentionid="75137" href="https://www.autoitscript.com/forum/profile/75137-jefrey/" rel="">@Jefrey</a> » jesobreira » <a href="https://github.com/jesobreira?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/10412-jvanegmond/?do=hovercard" data-mentionid="10412" href="https://www.autoitscript.com/forum/profile/10412-jvanegmond/" rel="">@jvanegmond</a></span> » jvanegmond » <a href="https://github.com/jvanegmond?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/47838-kurtykurtyboy/?do=hovercard" data-mentionid="47838" href="https://www.autoitscript.com/forum/profile/47838-kurtykurtyboy/" rel="">@kurtykurtyboy</a> » KurtisLiggett » <a href="https://github.com/KurtisLiggett?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/107413-lamnhan066/?do=hovercard" data-mentionid="107413" href="https://www.autoitscript.com/forum/profile/107413-lamnhan066/" rel="">@lamnhan066</a> » lamnhan066 » <a href="https://github.com/lamnhan066?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/101631-linkout/?do=hovercard" data-mentionid="101631" href="https://www.autoitscript.com/forum/profile/101631-linkout/" rel="">@LinkOut</a> » xLinkOut » <a href="https://github.com/xLinkOut?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/100600-loganch/?do=hovercard" data-mentionid="100600" href="https://www.autoitscript.com/forum/profile/100600-loganch/" rel="">@LoganCH</a> » loganch » <a href="https://github.com/loganch/AutoIt-VSCode" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/46719-mat/?do=hovercard" data-mentionid="46719" href="https://www.autoitscript.com/forum/profile/46719-mat/" rel="">@Mat</a> » MattDiesel » <a href="https://github.com/MattDiesel?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/113429-mateocedillo/?do=hovercard" data-mentionid="113429" href="https://www.autoitscript.com/forum/profile/113429-mateocedillo/" rel="">@Mateocedillo</a> » rmcpantoja » <a href="https://github.com/rmcpantoja?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/54961-matwachich/?do=hovercard" data-mentionid="54961" href="https://www.autoitscript.com/forum/profile/54961-matwachich/" rel="">@matwachich</a> » matwachich » <a href="https://github.com/matwachich?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/10673-mlipok/?do=hovercard" data-mentionid="10673" href="https://www.autoitscript.com/forum/profile/10673-mlipok/" rel="">@mLipok</a></span> » mlipok » <a href="https://github.com/mlipok?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/109280-mrkm/?do=hovercard" data-mentionid="109280" href="https://www.autoitscript.com/forum/profile/109280-mrkm/" rel="">@MrKm</a> » MurageKabui » <a href="https://github.com/MurageKabui?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/104354-nhd/?do=hovercard" data-mentionid="104354" href="https://www.autoitscript.com/forum/profile/104354-nhd/" rel="">@NHD</a> » nomi-san » <a href="https://github.com/nomi-san/true-autoit-multi-threading" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/61494-ohenry/?do=hovercard" data-mentionid="61494" href="https://www.autoitscript.com/forum/profile/61494-ohenry/" rel="">@oHenry</a> » htejera » <a href="https://github.com/htejera?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/117391-ovismaximus/?do=hovercard" data-mentionid="117391" href="https://www.autoitscript.com/forum/profile/117391-ovismaximus/" rel="">@OvisMaximus</a> » OvisMaximus » <a href="https://github.com/OvisMaximus?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/115322-philpw99/?do=hovercard" data-mentionid="115322" href="https://www.autoitscript.com/forum/profile/115322-philpw99/" rel="">@philpw99</a> » philpw99 » <a href="https://github.com/philpw99?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/66582-rcmaehl/?do=hovercard" data-mentionid="66582" href="https://www.autoitscript.com/forum/profile/66582-rcmaehl/" rel="">@rcmaehl</a> » rcmaehl » <a href="https://github.com/rcmaehl?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/114242-rurorita/?do=hovercard" data-mentionid="114242" href="https://www.autoitscript.com/forum/profile/114242-rurorita/" rel="">@Rurorita</a> » OfficialLambdax » <a href="https://github.com/OfficialLambdax?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/92534-rynow/?do=hovercard" data-mentionid="92534" href="https://www.autoitscript.com/forum/profile/92534-rynow/" rel="">@rynow</a> » 4ern » <a href="https://github.com/4ern?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/75336-scintilla4evr/?do=hovercard" data-mentionid="75336" href="https://www.autoitscript.com/forum/profile/75336-scintilla4evr/" rel="">@scintilla4evr</a></span></span> » scidsgn » <a href="https://github.com/scidsgn?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/107750-seadoggie01/?do=hovercard" data-mentionid="107750" href="https://www.autoitscript.com/forum/profile/107750-seadoggie01/" rel="">@seadoggie01</a> » seadoggie01 » <a href="https://github.com/seadoggie01?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/36114-seangriffin/?do=hovercard" data-mentionid="36114" href="https://www.autoitscript.com/forum/profile/36114-seangriffin/" rel="">@seangriffin</a></span> » seanhaydongriffin » <a href="https://github.com/seanhaydongriffin?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/114788-smbape/?do=hovercard" data-mentionid="114788" href="https://www.autoitscript.com/forum/profile/114788-smbape/" rel="">@smbape</a> » smbape » <a href="https://github.com/smbape?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/115329-solve-smart/?do=hovercard" data-mentionid="115329" href="https://www.autoitscript.com/forum/profile/115329-solve-smart/" rel="">@SOLVE-SMART</a> » Sven-Seyfert » <a href="https://github.com/Sven-Seyfert?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/25108-stilgar/?do=hovercard" data-mentionid="25108" href="https://www.autoitscript.com/forum/profile/25108-stilgar/" rel="">@Stilgar</a> » THWillert » <a href="https://github.com/THWillert?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<span><a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/89657-surya/?do=hovercard" data-mentionid="89657" href="https://www.autoitscript.com/forum/profile/89657-surya/" rel="">@Surya</a></span> » <span>thesunRider </span>» <a href="https://github.com/thesunRider?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/65348-tarretarretarre/?do=hovercard" data-mentionid="65348" href="https://www.autoitscript.com/forum/profile/65348-tarretarretarre/" rel="">@tarretarretarre</a> » <span>tarreislam </span>» <a href="https://github.com/tarreislam?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/89462-thedcoder/?do=hovercard" data-mentionid="89462" href="https://www.autoitscript.com/forum/profile/89462-thedcoder/" rel="">@TheDcoder</a> » TheDcoder » <a href="https://github.com/TheDcoder?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/6775-thesaint/?do=hovercard" data-mentionid="6775" href="https://www.autoitscript.com/forum/profile/6775-thesaint/" rel="">@TheSaint</a> » Twombs » <a href="https://github.com/Twombs?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/33569-trancexx/?do=hovercard" data-mentionid="33569" href="https://www.autoitscript.com/forum/profile/33569-trancexx/" rel="">@trancexx</a> » dragana-r » <a href="https://github.com/dragana-r?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
	<li>
		<a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/115186-vietanhdev/?do=hovercard" data-mentionid="115186" href="https://www.autoitscript.com/forum/profile/115186-vietanhdev/" rel="">@vietanhdev</a> » vietanhdev » <a href="https://github.com/vietanhdev?tab=repositories&amp;q=&amp;type=&amp;language=autoit&amp;sort=" rel="external nofollow">Projects</a>
	</li>
</ul>

<p>
	<strong>Σ = 41</strong>
</p>

<p>
	I would love to see the list growing and I am very excited about a possibly upcoming behavior and improvement change, regarding AutoIt on GitHub <span class="ipsEmoji">😊</span> .<br />
	<span class="ipsEmoji">💡</span> Please help me to increase the list. Either by your GitHub link (profile) or through a link from a member you know.
</p>

<p>
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">Best regards</span><br style="background-color:#ffffff;color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">Sven</span><br style="background-color:#ffffff;color:#353c41;font-size:14px;" />
	<br style="background-color:#ffffff;color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">________________</span><br style="background-color:#ffffff;color:#353c41;font-size:14px;" />
	<em style="background-color:#ffffff;color:#353c41;font-size:14px;">Stay innovative!</em>
</p>
]]></description><guid isPermaLink="false">209411</guid><pubDate>Tue, 03 Jan 2023 19:08:16 +0000</pubDate></item><item><title>ATCmd.au3 UDF - Control AT Modems</title><link>https://www.autoitscript.com/forum/topic/204760-atcmdau3-udf-control-at-modems/</link><description><![CDATA[
<p>
	Hello!!! I want to share this UDF I've made with <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.autoitscript.com/forum/profile/10673-mlipok/?do=hovercard" data-mentionid="10673" href="https://www.autoitscript.com/forum/profile/10673-mlipok/" rel="">@mLipok</a>, for some personal reason We stopped UDF development at 26-10-2020. So this can still be not fully operational.
</p>

<p>
	 
</p>

<p>
	Donwload Link:
</p>

<p>
	<a href="https://www.autoitscript.com/forum/files/file/512-atcmdau3-udf/" rel="">https://www.autoitscript.com/forum/files/file/512-atcmdau3-udf/</a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Saludos
</p>
]]></description><guid isPermaLink="false">204760</guid><pubDate>Thu, 31 Dec 2020 10:02:33 +0000</pubDate></item><item><title>WinAppDriver</title><link>https://www.autoitscript.com/forum/topic/211039-winappdriver/</link><description><![CDATA[<p>
	Today I hit:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			 
		</p>

		<div class="ipsEmbeddedVideo" contenteditable="false">
			<div>
				<iframe allowfullscreen="" frameborder="0" height="113" src="https://www.youtube-nocookie.com/embed/xIPBQR6AOzU?feature=oembed" title="a 🆕 way to Automate Windows Programs with AutoHotkey" width="200"></iframe>
			</div>
		</div>
	</div>
</div>

<p>
	and<br />
	<a href="https://github.com/microsoft/WinAppDriver" rel="external nofollow">https://github.com/microsoft/WinAppDriver</a>
</p>

<p>
	AnyBody know how to use this with AutoIt ?
</p>
]]></description><guid isPermaLink="false">211039</guid><pubDate>Thu, 02 Nov 2023 15:27:44 +0000</pubDate></item><item><title>Web2Win4exe</title><link>https://www.autoitscript.com/forum/topic/210753-web2win4exe/</link><description><![CDATA[<p>
	Portions of Web2Win4.exe were made with AutoIt v3 (to compile HTML documents to Windows exe files). Will post a link to the app before it is released to the public.
</p>

<p>
	see how it works here:
</p>

<p>
	<a href="https://youtu.be/omjYAcuhels" rel="external nofollow">YouTube preview</a>
</p>
]]></description><guid isPermaLink="false">210753</guid><pubDate>Tue, 29 Aug 2023 16:00:12 +0000</pubDate></item></channel></rss>
