guinness Posted January 12, 2015 Posted January 12, 2015 (edited) Ever wondered how to interact with your compiled .NET assembly and AutoIt script using COM? Then look no further, as I try to explain in simple terms the approach at which to achieve this.The code (AutoIt):As quite a few of you know, I am against the use of Global variables, as more often than not a simple approach such as encapsulating a Local Static variable in a wrapper function is just as good. Some may point out the use of the enumeration, but this is only for the purposes of doing away with "magic numbers", with the chances to expand in the future and not having to remember which number represents what etc...To create the .NET dll:In Visual Studio select a new project and class library. From there, go ahead and rename the namespace and class to something meaningful as you will need it later on when you connect to the COM interface of your .NET assembly. Add [ComVisible(true)] above the class declaration line << IMPORTANT.Once you've added all your wonderful C# related code, build the assembly and copy the .dll file to the location of your AutoIt script. Then it's just as simple as calling the _DotNet_Load() function with the filename of the .dll and voila, you have the power of AutoIt and .NET in one script.Example use of Functions:expandcollapse popup#include <File.au3> Global Const $DOTNET_PATHS_INDEX = 0, $DOTNET_REGASM_OK = 0 Global Enum $DOTNET_LOADDLL, $DOTNET_UNLOADDLL, $DOTNET_UNLOADDLLALL ; Enumeration used for the _DotNet_* functions. Global Enum $DOTNET_PATHS_FILEPATH, $DOTNET_PATHS_GUID, $DOTNET_PATHS_MAX ; Enumeration used for the internal filepath array. #cs NOTE: Don't forget to add [ComVisible(true)] to the top of the class in the class library. Otherwise it won't work. #ce Example() ; A simple example of registering and unregistering the AutoIt.dll Func Example() If _DotNet_Load('AutoIt.dll') Then ; Load the .NET compiled dll. Local $oPerson = ObjCreate('AutoIt.Person') ; Namespace.Class. If IsObj($oPerson) Then $oPerson.Name = "guinness" $oPerson.Age = Random(18, 99, 1) ConsoleWrite('Person''s age => ' & $oPerson.Age & @CRLF) $oPerson.IncreaseAge() ; A silly method to show the encapsulation of the object around the Age property. ConsoleWrite('Person''s new age => ' & $oPerson.Age & @CRLF) ConsoleWrite($oPerson.ToString() & @CRLF) ; Call the ToString() method which was overriden. Else ConsoleWrite('An error occurred when registering the Dll.' & @CRLF) EndIf Else ConsoleWrite('An error occurred when registering the Dll.' & @CRLF) EndIf ; The dll is automatically unloaded when the application closes. EndFunc ;==>Example ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DotNet_Load ; Description ...: Load a .NET compiled dll assembly. ; Syntax ........: _DotNet_Load($sDllPath) ; Parameters ....: $sDllPath - A .NET compiled dll assembly located in the @ScriptDir directory. ; $bAddAsCurrentUser - [optional] True or false to add to the current user (supresses UAC). Default is False, all users. ; Return values .: Success: True ; Failure: False and sets @error to non-zero: ; 1 = Incorrect filetype aka not a dll. ; 2 = Dll does not exist in the @ScriptDir location. ; 3 = .NET RegAsm.exe file not found. ; 4 = Dll already registered. ; 5 = Unable to retrieve the GUID for registering as a current user. ; Author ........: guinness ; Remarks .......: With ideas by funkey for running under the current user. ; Example .......: Yes ; =============================================================================================================================== Func _DotNet_Load($sDllPath, $bAddAsCurrentUser = Default) If $bAddAsCurrentUser = Default Then $bAddAsCurrentUser = False Local $bReturn = __DotNet_Wrapper($sDllPath, $DOTNET_LOADDLL, $bAddAsCurrentUser) Return SetError(@error, @extended, $bReturn) EndFunc ;==>_DotNet_Load ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DotNet_Unload ; Description ...: Unload a previously registered .NET compiled dll assembly. ; Syntax ........: _DotNet_Unload($sDllPath) ; Parameters ....: $sDllPath - A .NET compiled dll assembly located in the @ScriptDir directory. ; Return values .: Success: True ; Failure: False and sets @error to non-zero: ; 1 = Incorrect filetype aka not a dll. ; 2 = Dll does not exist in the @ScriptDir location. ; 3 = .NET RegAsm.exe file not found. ; Author ........: guinness ; Remarks .......: With ideas by funkey for running under the current user. ; Example .......: Yes ; =============================================================================================================================== Func _DotNet_Unload($sDllPath) Local $bReturn = __DotNet_Wrapper($sDllPath, $DOTNET_UNLOADDLL, Default) Return SetError(@error, @extended, $bReturn) EndFunc ;==>_DotNet_Unload ; #FUNCTION# ==================================================================================================================== ; Name ..........: _DotNet_UnloadAll ; Description ...: Unload all previously registered .NET compiled dll assemblies. ; Syntax ........: _DotNet_UnloadAll() ; Parameters ....: None ; Return values .: Success: True ; Failure: False and sets @error to non-zero: ; 1 = Incorrect filetype aka not a dll. ; 2 = Dll does not exist in the @ScriptDir location. ; 3 = .NET RegAsm.exe file not found. ; 4 = Dll already registered. ; 5 = Unable to retrieve the GUID for registering as a current user. ; Author ........: guinness ; Remarks .......: With ideas by funkey for running under the current user. ; Example .......: Yes ; =============================================================================================================================== Func _DotNet_UnloadAll() Local $bReturn = __DotNet_Wrapper(Null, $DOTNET_UNLOADDLLALL, Default) Return SetError(@error, @extended, $bReturn) EndFunc ;==>_DotNet_UnloadAll ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __DotNet_Wrapper ; Description ...: A wrapper for the _DotNet_* functions. ; Syntax ........: __DotNet_Wrapper($sDllPath, $iType) ; Parameters ....: $sDllPath - A .NET compiled dll assembly located in the @ScriptDir directory. ; $iType - A $DOTNET_* constant. ; Return values .: Success: True ; Failure: False and sets @error to non-zero: ; 1 = Incorrect filetype aka not a dll. ; 2 = Dll does not exist in the @ScriptDir location. ; 3 = .NET RegAsm.exe file not found. ; 4 = Dll already registered. ; 5 = Unable to retrieve the GUID for registering as current user. ; Author ........: guinness ; Remarks .......: ### DO NOT INVOKE, AS THIS IS A WRAPPER FOR THE ABOVE FUNCTIONS. ### ; Remarks .......: With ideas by funkey for running under the current user. ; Related .......: Thanks to Bugfix for the initial idea: http://www.autoitscript.com/forum/topic/129164-create-a-net-class-and-run-it-as-object-from-your-autoit-script/?p=938459 ; Example .......: Yes ; =============================================================================================================================== Func __DotNet_Wrapper($sDllPath, $iType, $bAddAsCurrentUser) Local Static $aDllPaths[Ceiling($DOTNET_PATHS_MAX * 1.3)][$DOTNET_PATHS_MAX] = [[0, 0]], _ $sRegAsmPath = Null If Not ($iType = $DOTNET_UNLOADDLLALL) Then If Not (StringRight($sDllPath, StringLen('dll')) == 'dll') Then ; Check the correct filetype was passed. Return SetError(1, 0, False) ; Incorrect filetype. EndIf If Not FileExists($sDllPath) Then ; Check the filepath exists in @ScriptDir. Return SetError(2, 0, False) ; Filepath does not exist. EndIf EndIf If $sRegAsmPath == Null Then $sRegAsmPath = RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework', 'InstallRoot') If @error Then $sRegAsmPath = '' ; Set to an empty string to acknowledge that searching for the path happened. Else Local $aFilePaths = _FileListToArray($sRegAsmPath, '*', $FLTA_FOLDERS), _ $sNETFolder = '' If Not @error Then For $i = UBound($aFilePaths) - 1 To 1 Step -1 If StringRegExp($aFilePaths[$i], '(?:[vV]4\.0\.\d+)') Then $sNETFolder = $aFilePaths[$i] ExitLoop ElseIf StringRegExp($aFilePaths[$i], '(?:[vV]2\.0\.\d+)') Then $sNETFolder = $aFilePaths[$i] ExitLoop EndIf Next EndIf $sRegAsmPath &= $sNETFolder & '\RegAsm.exe' If FileExists($sRegAsmPath) Then OnAutoItExitRegister(_DotNet_UnloadAll) ; Register when the AutoIt executable is closed. Else $sRegAsmPath = '' ; Set to an empty string to acknowledge that searching for the path happened. EndIf EndIf EndIf If $sRegAsmPath == '' Then Return SetError(3, 0, False) ; .NET Framework 2.0 or 4.0 required. EndIf Switch $iType Case $DOTNET_LOADDLL Local $iIndex = -1 For $i = $DOTNET_PATHS_MAX To $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] If $sDllPath = $aDllPaths[$i][$DOTNET_PATHS_FILEPATH] Then Return SetError(4, 0, False) ; Dll already registered. EndIf If $iIndex = -1 And $aDllPaths[$i][$DOTNET_PATHS_FILEPATH] == '' Then $iIndex = $i ExitLoop EndIf Next If $iIndex = -1 Then $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] += 1 $iIndex = $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] EndIf Local Const $iUBound = UBound($aDllPaths) If $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] >= $iUBound Then ReDim $aDllPaths[Ceiling($iUBound * 1.3)][$DOTNET_PATHS_MAX] EndIf $aDllPaths[$iIndex][$DOTNET_PATHS_FILEPATH] = $sDllPath $aDllPaths[$iIndex][$DOTNET_PATHS_GUID] = Null If $bAddAsCurrentUser Then ; Idea by funkey, with modification by guinness. Local $sTempDllPath = @TempDir & '\' & $sDllPath & '.reg' If Not (RunWait($sRegAsmPath & ' /s /codebase ' & $sDllPath & ' /regfile:"' & $sTempDllPath & '"', @ScriptDir, @SW_HIDE) = $DOTNET_REGASM_OK) Then Return SetError(5, 0, False) ; Unable to retrieve the GUID for registering as current user. EndIf Local Const $hFileOpen = FileOpen($sTempDllPath, BitOR($FO_READ, $FO_APPEND)) If $hFileOpen > -1 Then FileSetPos($hFileOpen, 0, $FILE_BEGIN) Local $sData = FileRead($hFileOpen) If @error Then $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] -= 1 ; Decrease the index due to failure. Return SetError(5, 0, False) ; Unable to retrieve the GUID for registering as current user. EndIf $sData = StringReplace($sData, 'HKEY_CLASSES_ROOT', 'HKEY_CURRENT_USER\Software\Classes') FileSetPos($hFileOpen, 0, $FILE_BEGIN) If Not FileWrite($hFileOpen, $sData) Then $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] -= 1 ; Decrease the index due to failure. Return SetError(5, 0, False) ; Unable to retrieve the GUID for registering as current user. EndIf FileClose($hFileOpen) Local $aSRE = StringRegExp($sData, '(?:\R@="{([[:xdigit:]\-]{36})}"\R)', $STR_REGEXPARRAYGLOBALMATCH) If @error Then $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] -= 1 ; Decrease the index due to failure. Return SetError(5, 0, False) ; Unable to retrieve the GUID for registering as current user. EndIf $aDllPaths[$iIndex][$DOTNET_PATHS_GUID] = $aSRE[0] ; GUID of the registry key. RunWait('reg import "' & $sTempDllPath & '"', @ScriptDir, @SW_HIDE) ; Import to current users' classes FileDelete($sTempDllPath) EndIf Else Return RunWait($sRegAsmPath & ' /codebase ' & $sDllPath, @ScriptDir, @SW_HIDE) = $DOTNET_REGASM_OK ; Register the .NET Dll. EndIf Case $DOTNET_UNLOADDLL For $i = $DOTNET_PATHS_MAX To $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] If $sDllPath = $aDllPaths[$i][$DOTNET_PATHS_FILEPATH] And Not ($aDllPaths[$i][$DOTNET_PATHS_FILEPATH] == Null) Then Return __DotNet_Unregister($sRegAsmPath, $aDllPaths[$i][$DOTNET_PATHS_FILEPATH], $aDllPaths[$iIndex][$DOTNET_PATHS_GUID]) EndIf Next Case $DOTNET_UNLOADDLLALL Local $iCount = 0 If $sDllPath == Null And $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] > 0 Then For $i = $DOTNET_PATHS_MAX To $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] If Not ($aDllPaths[$i][$DOTNET_PATHS_FILEPATH] == Null) Then $iCount += (__DotNet_Unregister($sRegAsmPath, $aDllPaths[$i][$DOTNET_PATHS_FILEPATH], $aDllPaths[$iIndex][$DOTNET_PATHS_GUID]) ? 1 : 0) EndIf Next $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] = 0 ; Reset the count. Return $iCount == $aDllPaths[$DOTNET_PATHS_INDEX][$DOTNET_PATHS_FILEPATH] EndIf EndSwitch Return True EndFunc ;==>__DotNet_Wrapper Func __DotNet_Unregister($sRegAsmPath, ByRef $sDllPath, ByRef $sGUID) Local $bReturn = RunWait($sRegAsmPath & ' /unregister ' & $sDllPath, @ScriptDir, @SW_HIDE) = $DOTNET_REGASM_OK ; Unregister the .NET Dll. If $bReturn Then If Not ($sGUID == Null) Then RegDelete('HKEY_CURRENT_USER\Software\Classes\CLSID\' & $sGUID) ; 32-bit path. RegDelete('HKEY_CLASSES_ROOT\Wow6432Node\CLSID\' & $sGUID) ; 64-bit path. $sGUID = Null ; Remove item. EndIf $sDllPath = Null ; Remove item. EndIf Return $bReturn EndFunc ;==>__DotNet_UnregisterI look forward to the comments and questions people have on this interesting subject, as well as any suggestions of improvement people might have.The ZIP file contains all related source code for both AutoIt and .NET.Dot-NET Assembly in AutoIt.zip Edited July 26, 2015 by guinness mLipok, Alan72104, Spider001 and 1 other 4 UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
guinness Posted January 12, 2015 Author Posted January 12, 2015 Not a massive problem as the dlls are unregister on application exit, but the Unload() method wasn't unregistering a single dll passed. I have updated the code accordingly. Sorry for any inconvenience caused. UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
mLipok Posted January 12, 2015 Posted January 12, 2015 Thanks for sharing. It reminded me of this:Ā WinSCP - UDF Signature beginning:*Ā Please remember: "AutoIt".....Ā *Ā Ā Wondering who uses AutoIt and what it can be used for ?Ā *Ā Forum RulesĀ **Ā ADO.au3 UDFĀ *Ā POP3.au3 UDFĀ *Ā XML.au3 UDFĀ *Ā IE on Windows 11 * How to ask ChatGPT for AutoIt Code *Ā for other useful stuffĀ click the following button: Spoiler AnyĀ of myĀ own codeĀ posted anywhere on the forumĀ isĀ available for use by others without any restrictionĀ of any kind.Ā My contribution (my own projects):Ā *Ā Debenu Quick PDF Library - UDFĀ *Ā Debenu PDF Viewer SDK - UDFĀ *Ā Acrobat Reader - ActiveX ViewerĀ * UDF for PDFCreator v1.x.xĀ *Ā XZip - UDFĀ *Ā AppCompatFlagsĀ UDFĀ *Ā CrowdinAPIĀ UDFĀ *Ā _WinMergeCompare2Files()Ā *Ā _JavaExceptionAdd()Ā *Ā _IsBeta()Ā *Ā Writing DPI Awareness App - workaroundĀ *Ā _AutoIt_RequiredVersion()Ā * Chilkatsoft.au3 UDFĀ *Ā TeamViewer.au3 UDFĀ *Ā JavaManagement UDFĀ *Ā VIES over SOAPĀ * WinSCP UDFĀ * GHAPI UDF - modest begining - comunication with GitHub REST API *Ā ErrorLog.au3 UDF - A logging LibraryĀ *Ā Include Dependency Tree (Tool for analyzing script relations)Ā *Ā Show_Macro_Values.au3 * Ā My contribution to others projects or UDF based on Ā others projects:Ā *Ā _sql.au3 UDFĀ Ā * POP3.au3 UDFĀ * Ā RTF Printer - UDFĀ * XML.au3 UDFĀ * ADO.au3 UDF *Ā SMTP Mailer UDFĀ *Ā Dual Monitor resolution detection * *Ā 2GUI on Dual Monitor System * _SciLexer.au3 UDFĀ *Ā SciTE - Lexer for console pane *Ā Useful links:Ā * Forum RulesĀ *Ā Forum etiquetteĀ *Ā Forum Information and FAQsĀ *Ā How to post code on the forumĀ *Ā AutoIt Online DocumentationĀ *Ā AutoIt Online Beta DocumentationĀ *Ā SciTE4AutoIt3 getting startedĀ *Ā Convert text blocks to AutoIt codeĀ *Ā Games made in AutoitĀ *Ā Programming related sitesĀ *Ā Polish AutoIt TutorialĀ *Ā DllCall Code GeneratorĀ *Ā Wiki:Ā *Ā Expand your knowledge - AutoIt WikiĀ *Ā Collection of User Defined FunctionsĀ *Ā How to use HelpFileĀ *Ā Good coding practices in AutoItĀ *Ā OpenOffice/LibreOffice/XLS Related:Ā WriterDemo.au3Ā *Ā XLS/MDB from scratch with ADOX IE Related:Ā Ā *Ā How to use IE.au3 Ā UDF with Ā AutoIt v3.3.14.xĀ *Ā Why isn't Autoit able to click a Javascript Dialog?Ā *Ā Clicking javascript button with no IDĀ *Ā IE document >> save as MHT fileĀ * IETab Switcher (by LarsJ )Ā *Ā HTML Entities * _IEquerySelectorAll() (by uncommon)Ā *Ā IE in TaskScheduler *Ā IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI)Ā *Ā PDFĀ Related: *Ā How to get reference to PDF object embeded in IE * IE on Windows 11 *Ā I encourage you to read:Ā * Global VarsĀ * Best Coding PracticesĀ *Ā Please explain code used in Help file for several File functionsĀ *Ā OOP-like approach in AutoItĀ * UDF-Spec QuestionsĀ *Ā EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMDĀ *I also encourage you to check awesome @trancexxĀ code:Ā *Ā Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff *Ā OnHungApp handler *Ā Avoid "AutoIt Error" message box in unknown errorsĀ Ā *Ā HTML editor *Ā winhttp.au3 related :Ā *Ā https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"Ā Ā , beĀ Ā Ā and Ā Ā Ā \\//_. Anticipating ErrorsĀ :Ā Ā "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
mLipok Posted January 12, 2015 Posted January 12, 2015 The ZIP file contains all related source code for both AutoIt and .NET. I do not see any zip file in your post. Signature beginning:*Ā Please remember: "AutoIt".....Ā *Ā Ā Wondering who uses AutoIt and what it can be used for ?Ā *Ā Forum RulesĀ **Ā ADO.au3 UDFĀ *Ā POP3.au3 UDFĀ *Ā XML.au3 UDFĀ *Ā IE on Windows 11 * How to ask ChatGPT for AutoIt Code *Ā for other useful stuffĀ click the following button: Spoiler AnyĀ of myĀ own codeĀ posted anywhere on the forumĀ isĀ available for use by others without any restrictionĀ of any kind.Ā My contribution (my own projects):Ā *Ā Debenu Quick PDF Library - UDFĀ *Ā Debenu PDF Viewer SDK - UDFĀ *Ā Acrobat Reader - ActiveX ViewerĀ * UDF for PDFCreator v1.x.xĀ *Ā XZip - UDFĀ *Ā AppCompatFlagsĀ UDFĀ *Ā CrowdinAPIĀ UDFĀ *Ā _WinMergeCompare2Files()Ā *Ā _JavaExceptionAdd()Ā *Ā _IsBeta()Ā *Ā Writing DPI Awareness App - workaroundĀ *Ā _AutoIt_RequiredVersion()Ā * Chilkatsoft.au3 UDFĀ *Ā TeamViewer.au3 UDFĀ *Ā JavaManagement UDFĀ *Ā VIES over SOAPĀ * WinSCP UDFĀ * GHAPI UDF - modest begining - comunication with GitHub REST API *Ā ErrorLog.au3 UDF - A logging LibraryĀ *Ā Include Dependency Tree (Tool for analyzing script relations)Ā *Ā Show_Macro_Values.au3 * Ā My contribution to others projects or UDF based on Ā others projects:Ā *Ā _sql.au3 UDFĀ Ā * POP3.au3 UDFĀ * Ā RTF Printer - UDFĀ * XML.au3 UDFĀ * ADO.au3 UDF *Ā SMTP Mailer UDFĀ *Ā Dual Monitor resolution detection * *Ā 2GUI on Dual Monitor System * _SciLexer.au3 UDFĀ *Ā SciTE - Lexer for console pane *Ā Useful links:Ā * Forum RulesĀ *Ā Forum etiquetteĀ *Ā Forum Information and FAQsĀ *Ā How to post code on the forumĀ *Ā AutoIt Online DocumentationĀ *Ā AutoIt Online Beta DocumentationĀ *Ā SciTE4AutoIt3 getting startedĀ *Ā Convert text blocks to AutoIt codeĀ *Ā Games made in AutoitĀ *Ā Programming related sitesĀ *Ā Polish AutoIt TutorialĀ *Ā DllCall Code GeneratorĀ *Ā Wiki:Ā *Ā Expand your knowledge - AutoIt WikiĀ *Ā Collection of User Defined FunctionsĀ *Ā How to use HelpFileĀ *Ā Good coding practices in AutoItĀ *Ā OpenOffice/LibreOffice/XLS Related:Ā WriterDemo.au3Ā *Ā XLS/MDB from scratch with ADOX IE Related:Ā Ā *Ā How to use IE.au3 Ā UDF with Ā AutoIt v3.3.14.xĀ *Ā Why isn't Autoit able to click a Javascript Dialog?Ā *Ā Clicking javascript button with no IDĀ *Ā IE document >> save as MHT fileĀ * IETab Switcher (by LarsJ )Ā *Ā HTML Entities * _IEquerySelectorAll() (by uncommon)Ā *Ā IE in TaskScheduler *Ā IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI)Ā *Ā PDFĀ Related: *Ā How to get reference to PDF object embeded in IE * IE on Windows 11 *Ā I encourage you to read:Ā * Global VarsĀ * Best Coding PracticesĀ *Ā Please explain code used in Help file for several File functionsĀ *Ā OOP-like approach in AutoItĀ * UDF-Spec QuestionsĀ *Ā EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMDĀ *I also encourage you to check awesome @trancexxĀ code:Ā *Ā Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff *Ā OnHungApp handler *Ā Avoid "AutoIt Error" message box in unknown errorsĀ Ā *Ā HTML editor *Ā winhttp.au3 related :Ā *Ā https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"Ā Ā , beĀ Ā Ā and Ā Ā Ā \\//_. Anticipating ErrorsĀ :Ā Ā "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
guinness Posted January 12, 2015 Author Posted January 12, 2015 (edited) Thanks for sharing. It reminded me of this: WinSCP - UDF I remembered this after posting, as I checked the WinSCP code to see if they use more than just an empty constructor. Though our examples are slightly different, as yours assumes the assembly is registered and is a precompiled assembly. I do not see any zip file in your post. I see the ZIP file. Edited January 12, 2015 by guinness UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
mLipok Posted January 12, 2015 Posted January 12, 2015 (edited) sorry about the zip file , web page was not refreshed edit: or simply overlooked. Edited January 12, 2015 by mLipok Signature beginning:*Ā Please remember: "AutoIt".....Ā *Ā Ā Wondering who uses AutoIt and what it can be used for ?Ā *Ā Forum RulesĀ **Ā ADO.au3 UDFĀ *Ā POP3.au3 UDFĀ *Ā XML.au3 UDFĀ *Ā IE on Windows 11 * How to ask ChatGPT for AutoIt Code *Ā for other useful stuffĀ click the following button: Spoiler AnyĀ of myĀ own codeĀ posted anywhere on the forumĀ isĀ available for use by others without any restrictionĀ of any kind.Ā My contribution (my own projects):Ā *Ā Debenu Quick PDF Library - UDFĀ *Ā Debenu PDF Viewer SDK - UDFĀ *Ā Acrobat Reader - ActiveX ViewerĀ * UDF for PDFCreator v1.x.xĀ *Ā XZip - UDFĀ *Ā AppCompatFlagsĀ UDFĀ *Ā CrowdinAPIĀ UDFĀ *Ā _WinMergeCompare2Files()Ā *Ā _JavaExceptionAdd()Ā *Ā _IsBeta()Ā *Ā Writing DPI Awareness App - workaroundĀ *Ā _AutoIt_RequiredVersion()Ā * Chilkatsoft.au3 UDFĀ *Ā TeamViewer.au3 UDFĀ *Ā JavaManagement UDFĀ *Ā VIES over SOAPĀ * WinSCP UDFĀ * GHAPI UDF - modest begining - comunication with GitHub REST API *Ā ErrorLog.au3 UDF - A logging LibraryĀ *Ā Include Dependency Tree (Tool for analyzing script relations)Ā *Ā Show_Macro_Values.au3 * Ā My contribution to others projects or UDF based on Ā others projects:Ā *Ā _sql.au3 UDFĀ Ā * POP3.au3 UDFĀ * Ā RTF Printer - UDFĀ * XML.au3 UDFĀ * ADO.au3 UDF *Ā SMTP Mailer UDFĀ *Ā Dual Monitor resolution detection * *Ā 2GUI on Dual Monitor System * _SciLexer.au3 UDFĀ *Ā SciTE - Lexer for console pane *Ā Useful links:Ā * Forum RulesĀ *Ā Forum etiquetteĀ *Ā Forum Information and FAQsĀ *Ā How to post code on the forumĀ *Ā AutoIt Online DocumentationĀ *Ā AutoIt Online Beta DocumentationĀ *Ā SciTE4AutoIt3 getting startedĀ *Ā Convert text blocks to AutoIt codeĀ *Ā Games made in AutoitĀ *Ā Programming related sitesĀ *Ā Polish AutoIt TutorialĀ *Ā DllCall Code GeneratorĀ *Ā Wiki:Ā *Ā Expand your knowledge - AutoIt WikiĀ *Ā Collection of User Defined FunctionsĀ *Ā How to use HelpFileĀ *Ā Good coding practices in AutoItĀ *Ā OpenOffice/LibreOffice/XLS Related:Ā WriterDemo.au3Ā *Ā XLS/MDB from scratch with ADOX IE Related:Ā Ā *Ā How to use IE.au3 Ā UDF with Ā AutoIt v3.3.14.xĀ *Ā Why isn't Autoit able to click a Javascript Dialog?Ā *Ā Clicking javascript button with no IDĀ *Ā IE document >> save as MHT fileĀ * IETab Switcher (by LarsJ )Ā *Ā HTML Entities * _IEquerySelectorAll() (by uncommon)Ā *Ā IE in TaskScheduler *Ā IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI)Ā *Ā PDFĀ Related: *Ā How to get reference to PDF object embeded in IE * IE on Windows 11 *Ā I encourage you to read:Ā * Global VarsĀ * Best Coding PracticesĀ *Ā Please explain code used in Help file for several File functionsĀ *Ā OOP-like approach in AutoItĀ * UDF-Spec QuestionsĀ *Ā EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMDĀ *I also encourage you to check awesome @trancexxĀ code:Ā *Ā Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff *Ā OnHungApp handler *Ā Avoid "AutoIt Error" message box in unknown errorsĀ Ā *Ā HTML editor *Ā winhttp.au3 related :Ā *Ā https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"Ā Ā , beĀ Ā Ā and Ā Ā Ā \\//_. Anticipating ErrorsĀ :Ā Ā "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
mLipok Posted January 12, 2015 Posted January 12, 2015 I remembered this after posting, as I checked the WinSCP code to see if they use more than just an empty constructor. Though our examples are slightly different, as yours assumes the assembly is registered and is a precompiled assembly. I mean that: you reminded me of my unfinished project. I was not going to compare your UDF to mine. Moreover, I am going to use your UDF in my Signature beginning:*Ā Please remember: "AutoIt".....Ā *Ā Ā Wondering who uses AutoIt and what it can be used for ?Ā *Ā Forum RulesĀ **Ā ADO.au3 UDFĀ *Ā POP3.au3 UDFĀ *Ā XML.au3 UDFĀ *Ā IE on Windows 11 * How to ask ChatGPT for AutoIt Code *Ā for other useful stuffĀ click the following button: Spoiler AnyĀ of myĀ own codeĀ posted anywhere on the forumĀ isĀ available for use by others without any restrictionĀ of any kind.Ā My contribution (my own projects):Ā *Ā Debenu Quick PDF Library - UDFĀ *Ā Debenu PDF Viewer SDK - UDFĀ *Ā Acrobat Reader - ActiveX ViewerĀ * UDF for PDFCreator v1.x.xĀ *Ā XZip - UDFĀ *Ā AppCompatFlagsĀ UDFĀ *Ā CrowdinAPIĀ UDFĀ *Ā _WinMergeCompare2Files()Ā *Ā _JavaExceptionAdd()Ā *Ā _IsBeta()Ā *Ā Writing DPI Awareness App - workaroundĀ *Ā _AutoIt_RequiredVersion()Ā * Chilkatsoft.au3 UDFĀ *Ā TeamViewer.au3 UDFĀ *Ā JavaManagement UDFĀ *Ā VIES over SOAPĀ * WinSCP UDFĀ * GHAPI UDF - modest begining - comunication with GitHub REST API *Ā ErrorLog.au3 UDF - A logging LibraryĀ *Ā Include Dependency Tree (Tool for analyzing script relations)Ā *Ā Show_Macro_Values.au3 * Ā My contribution to others projects or UDF based on Ā others projects:Ā *Ā _sql.au3 UDFĀ Ā * POP3.au3 UDFĀ * Ā RTF Printer - UDFĀ * XML.au3 UDFĀ * ADO.au3 UDF *Ā SMTP Mailer UDFĀ *Ā Dual Monitor resolution detection * *Ā 2GUI on Dual Monitor System * _SciLexer.au3 UDFĀ *Ā SciTE - Lexer for console pane *Ā Useful links:Ā * Forum RulesĀ *Ā Forum etiquetteĀ *Ā Forum Information and FAQsĀ *Ā How to post code on the forumĀ *Ā AutoIt Online DocumentationĀ *Ā AutoIt Online Beta DocumentationĀ *Ā SciTE4AutoIt3 getting startedĀ *Ā Convert text blocks to AutoIt codeĀ *Ā Games made in AutoitĀ *Ā Programming related sitesĀ *Ā Polish AutoIt TutorialĀ *Ā DllCall Code GeneratorĀ *Ā Wiki:Ā *Ā Expand your knowledge - AutoIt WikiĀ *Ā Collection of User Defined FunctionsĀ *Ā How to use HelpFileĀ *Ā Good coding practices in AutoItĀ *Ā OpenOffice/LibreOffice/XLS Related:Ā WriterDemo.au3Ā *Ā XLS/MDB from scratch with ADOX IE Related:Ā Ā *Ā How to use IE.au3 Ā UDF with Ā AutoIt v3.3.14.xĀ *Ā Why isn't Autoit able to click a Javascript Dialog?Ā *Ā Clicking javascript button with no IDĀ *Ā IE document >> save as MHT fileĀ * IETab Switcher (by LarsJ )Ā *Ā HTML Entities * _IEquerySelectorAll() (by uncommon)Ā *Ā IE in TaskScheduler *Ā IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI)Ā *Ā PDFĀ Related: *Ā How to get reference to PDF object embeded in IE * IE on Windows 11 *Ā I encourage you to read:Ā * Global VarsĀ * Best Coding PracticesĀ *Ā Please explain code used in Help file for several File functionsĀ *Ā OOP-like approach in AutoItĀ * UDF-Spec QuestionsĀ *Ā EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMDĀ *I also encourage you to check awesome @trancexxĀ code:Ā *Ā Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff *Ā OnHungApp handler *Ā Avoid "AutoIt Error" message box in unknown errorsĀ Ā *Ā HTML editor *Ā winhttp.au3 related :Ā *Ā https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"Ā Ā , beĀ Ā Ā and Ā Ā Ā \\//_. Anticipating ErrorsĀ :Ā Ā "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
mLipok Posted January 12, 2015 Posted January 12, 2015 Thanks again guinness This is very good example how to Develop my own .NET Ā dll, and use them in AutoIt. Over this once a long time ago I was wondering, it is possible that I will return to this in my work. Signature beginning:*Ā Please remember: "AutoIt".....Ā *Ā Ā Wondering who uses AutoIt and what it can be used for ?Ā *Ā Forum RulesĀ **Ā ADO.au3 UDFĀ *Ā POP3.au3 UDFĀ *Ā XML.au3 UDFĀ *Ā IE on Windows 11 * How to ask ChatGPT for AutoIt Code *Ā for other useful stuffĀ click the following button: Spoiler AnyĀ of myĀ own codeĀ posted anywhere on the forumĀ isĀ available for use by others without any restrictionĀ of any kind.Ā My contribution (my own projects):Ā *Ā Debenu Quick PDF Library - UDFĀ *Ā Debenu PDF Viewer SDK - UDFĀ *Ā Acrobat Reader - ActiveX ViewerĀ * UDF for PDFCreator v1.x.xĀ *Ā XZip - UDFĀ *Ā AppCompatFlagsĀ UDFĀ *Ā CrowdinAPIĀ UDFĀ *Ā _WinMergeCompare2Files()Ā *Ā _JavaExceptionAdd()Ā *Ā _IsBeta()Ā *Ā Writing DPI Awareness App - workaroundĀ *Ā _AutoIt_RequiredVersion()Ā * Chilkatsoft.au3 UDFĀ *Ā TeamViewer.au3 UDFĀ *Ā JavaManagement UDFĀ *Ā VIES over SOAPĀ * WinSCP UDFĀ * GHAPI UDF - modest begining - comunication with GitHub REST API *Ā ErrorLog.au3 UDF - A logging LibraryĀ *Ā Include Dependency Tree (Tool for analyzing script relations)Ā *Ā Show_Macro_Values.au3 * Ā My contribution to others projects or UDF based on Ā others projects:Ā *Ā _sql.au3 UDFĀ Ā * POP3.au3 UDFĀ * Ā RTF Printer - UDFĀ * XML.au3 UDFĀ * ADO.au3 UDF *Ā SMTP Mailer UDFĀ *Ā Dual Monitor resolution detection * *Ā 2GUI on Dual Monitor System * _SciLexer.au3 UDFĀ *Ā SciTE - Lexer for console pane *Ā Useful links:Ā * Forum RulesĀ *Ā Forum etiquetteĀ *Ā Forum Information and FAQsĀ *Ā How to post code on the forumĀ *Ā AutoIt Online DocumentationĀ *Ā AutoIt Online Beta DocumentationĀ *Ā SciTE4AutoIt3 getting startedĀ *Ā Convert text blocks to AutoIt codeĀ *Ā Games made in AutoitĀ *Ā Programming related sitesĀ *Ā Polish AutoIt TutorialĀ *Ā DllCall Code GeneratorĀ *Ā Wiki:Ā *Ā Expand your knowledge - AutoIt WikiĀ *Ā Collection of User Defined FunctionsĀ *Ā How to use HelpFileĀ *Ā Good coding practices in AutoItĀ *Ā OpenOffice/LibreOffice/XLS Related:Ā WriterDemo.au3Ā *Ā XLS/MDB from scratch with ADOX IE Related:Ā Ā *Ā How to use IE.au3 Ā UDF with Ā AutoIt v3.3.14.xĀ *Ā Why isn't Autoit able to click a Javascript Dialog?Ā *Ā Clicking javascript button with no IDĀ *Ā IE document >> save as MHT fileĀ * IETab Switcher (by LarsJ )Ā *Ā HTML Entities * _IEquerySelectorAll() (by uncommon)Ā *Ā IE in TaskScheduler *Ā IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI)Ā *Ā PDFĀ Related: *Ā How to get reference to PDF object embeded in IE * IE on Windows 11 *Ā I encourage you to read:Ā * Global VarsĀ * Best Coding PracticesĀ *Ā Please explain code used in Help file for several File functionsĀ *Ā OOP-like approach in AutoItĀ * UDF-Spec QuestionsĀ *Ā EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMDĀ *I also encourage you to check awesome @trancexxĀ code:Ā *Ā Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff *Ā OnHungApp handler *Ā Avoid "AutoIt Error" message box in unknown errorsĀ Ā *Ā HTML editor *Ā winhttp.au3 related :Ā *Ā https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"Ā Ā , beĀ Ā Ā and Ā Ā Ā \\//_. Anticipating ErrorsĀ :Ā Ā "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
guinness Posted January 12, 2015 Author Posted January 12, 2015 Thanks again guinness This is very good example how to Develop my own .NET  dll, and use them in AutoIt. Over this once a long time ago I was wondering, it is possible that I will return to this in my work. You're very welcome. The functions are super simple, it was just a case of merging this information into a single post, as what I have seen on the AutoIt Forum wasn't clear nor did it include the means of how to create a class library. UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
guinness Posted January 12, 2015 Author Posted January 12, 2015 I just updated with a huge bug fix. The unloading was poorly written, which unfortunately I don't have any excuse for. Does tiredness count? See the first post with code that has been statically tested. UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
mLipok Posted January 12, 2015 Posted January 12, 2015 Interesting discovery '?do=embed' frameborder='0' data-embedContent>> Signature beginning:*Ā Please remember: "AutoIt".....Ā *Ā Ā Wondering who uses AutoIt and what it can be used for ?Ā *Ā Forum RulesĀ **Ā ADO.au3 UDFĀ *Ā POP3.au3 UDFĀ *Ā XML.au3 UDFĀ *Ā IE on Windows 11 * How to ask ChatGPT for AutoIt Code *Ā for other useful stuffĀ click the following button: Spoiler AnyĀ of myĀ own codeĀ posted anywhere on the forumĀ isĀ available for use by others without any restrictionĀ of any kind.Ā My contribution (my own projects):Ā *Ā Debenu Quick PDF Library - UDFĀ *Ā Debenu PDF Viewer SDK - UDFĀ *Ā Acrobat Reader - ActiveX ViewerĀ * UDF for PDFCreator v1.x.xĀ *Ā XZip - UDFĀ *Ā AppCompatFlagsĀ UDFĀ *Ā CrowdinAPIĀ UDFĀ *Ā _WinMergeCompare2Files()Ā *Ā _JavaExceptionAdd()Ā *Ā _IsBeta()Ā *Ā Writing DPI Awareness App - workaroundĀ *Ā _AutoIt_RequiredVersion()Ā * Chilkatsoft.au3 UDFĀ *Ā TeamViewer.au3 UDFĀ *Ā JavaManagement UDFĀ *Ā VIES over SOAPĀ * WinSCP UDFĀ * GHAPI UDF - modest begining - comunication with GitHub REST API *Ā ErrorLog.au3 UDF - A logging LibraryĀ *Ā Include Dependency Tree (Tool for analyzing script relations)Ā *Ā Show_Macro_Values.au3 * Ā My contribution to others projects or UDF based on Ā others projects:Ā *Ā _sql.au3 UDFĀ Ā * POP3.au3 UDFĀ * Ā RTF Printer - UDFĀ * XML.au3 UDFĀ * ADO.au3 UDF *Ā SMTP Mailer UDFĀ *Ā Dual Monitor resolution detection * *Ā 2GUI on Dual Monitor System * _SciLexer.au3 UDFĀ *Ā SciTE - Lexer for console pane *Ā Useful links:Ā * Forum RulesĀ *Ā Forum etiquetteĀ *Ā Forum Information and FAQsĀ *Ā How to post code on the forumĀ *Ā AutoIt Online DocumentationĀ *Ā AutoIt Online Beta DocumentationĀ *Ā SciTE4AutoIt3 getting startedĀ *Ā Convert text blocks to AutoIt codeĀ *Ā Games made in AutoitĀ *Ā Programming related sitesĀ *Ā Polish AutoIt TutorialĀ *Ā DllCall Code GeneratorĀ *Ā Wiki:Ā *Ā Expand your knowledge - AutoIt WikiĀ *Ā Collection of User Defined FunctionsĀ *Ā How to use HelpFileĀ *Ā Good coding practices in AutoItĀ *Ā OpenOffice/LibreOffice/XLS Related:Ā WriterDemo.au3Ā *Ā XLS/MDB from scratch with ADOX IE Related:Ā Ā *Ā How to use IE.au3 Ā UDF with Ā AutoIt v3.3.14.xĀ *Ā Why isn't Autoit able to click a Javascript Dialog?Ā *Ā Clicking javascript button with no IDĀ *Ā IE document >> save as MHT fileĀ * IETab Switcher (by LarsJ )Ā *Ā HTML Entities * _IEquerySelectorAll() (by uncommon)Ā *Ā IE in TaskScheduler *Ā IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI)Ā *Ā PDFĀ Related: *Ā How to get reference to PDF object embeded in IE * IE on Windows 11 *Ā I encourage you to read:Ā * Global VarsĀ * Best Coding PracticesĀ *Ā Please explain code used in Help file for several File functionsĀ *Ā OOP-like approach in AutoItĀ * UDF-Spec QuestionsĀ *Ā EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMDĀ *I also encourage you to check awesome @trancexxĀ code:Ā *Ā Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff *Ā OnHungApp handler *Ā Avoid "AutoIt Error" message box in unknown errorsĀ Ā *Ā HTML editor *Ā winhttp.au3 related :Ā *Ā https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"Ā Ā , beĀ Ā Ā and Ā Ā Ā \\//_. Anticipating ErrorsĀ :Ā Ā "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24
ptrex Posted January 15, 2015 Posted January 15, 2015 All Maybe this can help as wellĀ Ā '?do=embed' frameborder='0' data-embedContent>> Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL DistributionĀ - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COMĀ -Ā New
ptrex Posted January 15, 2015 Posted January 15, 2015 Hi Guinness, I did the same this a few years ago when .Net 2.0 was still around. #RequireAdmin ; Framework 2.0 ;$vbc = "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe" ; ; check the path of your version ;$RegAsm = "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe" ; check the path of your version ; Framework 4.0 $vbc = "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\vbc.exe" ; ; check the path of your version $RegAsm = "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" ; check the path of your version RunWait($vbc & " /target:library hello.vb", @ScriptDir, @SW_HIDE) ; compile the .net DLL RunWait($RegAsm & " /codebase hello.dll", @ScriptDir, @SW_HIDE) ; register the .net DLL $obj = ObjCreate("myDotNetLibrary.myDotNetClass") $obj.myDotNetProperty = " ... from DotNet to the AutoIt World !" MsgBox(0,"My Own DotNet Object " , $obj.myDotNetMethod($obj.myDotNetProperty) & @CRLF) RunWait($RegAsm & " /unregister hello.dll", @ScriptDir, @SW_HIDE) ; unregister the .net DLL Ā Here is the Hello World code.Ā Imports System.Collections.Generic Imports System.Text Imports System.Runtime.InteropServices Namespace myDotNetLibrary <ClassInterface(ClassInterfaceType.AutoDual)> _ Public Class myDotNetClass Private myProperty As String Public Sub New() End Sub Public Function myDotNetMethod(input As String) As String Return "Hello " & input End Function Public Property myDotNetProperty() As String Get Return myProperty End Get Set(ByVal value As String) myProperty = value End Set End Property End Class End Namespace Works as well without the COM visible line There is also a possibility to run Assemblies in .Net without registering them in the GAC ! But this takes us too far down the .NET road, and after all this is still a AU3 forum Ā rgds ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL DistributionĀ - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COMĀ -Ā New
guinness Posted January 15, 2015 Author Posted January 15, 2015 All Maybe this can help as well  '?do=embed' frameborder='0' data-embedContent>> Totally missed this. As for your code, thanks. Though maybe it's different in .NET v2.0, as I had to put the ComVisible for it to work. UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
ptrex Posted January 15, 2015 Posted January 15, 2015 Code works as well in .Net 4.0 just tested it. Anyhow bottom line is that .Net code can enrich AU3 using COM, that is for sure ! Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL DistributionĀ - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COMĀ -Ā New
guinness Posted January 15, 2015 Author Posted January 15, 2015 Yeah. I want to do some tests as I would like to take my PreExpand project and port across to a C#, as right now it's slow on super large scripts. UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
Spider001 Posted January 15, 2015 Posted January 15, 2015 k here i have some results from extract icon's for my prog. these are the times from start to end building gui with dll call from guinnessĀ 626.965717709932Ā Ā 98% qwality => c#Ā this is the best option for me with runwaitĀ 4247.32081870741Ā 98% qwality => c# with autoitĀ 474.510307874325Ā 30% qwality
guinness Posted January 15, 2015 Author Posted January 15, 2015 Do have code you possible used? Also what is the 30% quality about? UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
funkey Posted January 15, 2015 Posted January 15, 2015 Thanks guinness for this functions. I found an issue regarding the error values of the wrapper functions. You have to wrap the main function like this to get error values other than zero in case of an error: Func _DotNet_Load($sDllPath) Local $Result = __DotNet_Wrapper($sDllPath, $DOTNET_LOADDLL) Return SetError(@error, @extended, $Result) EndFunc ;==>_DotNet_Load Tested on V3.3.8.1 but behaviour should be the same on newer AutoIt versions. Programming today is a race between software engineers striving tobuild bigger and better idiot-proof programs, and the Universetrying to produce bigger and better idiots.So far, the Universe is winning.
guinness Posted January 15, 2015 Author Posted January 15, 2015 Thanks guinness for this functions. I found an issue regarding the error values of the wrapper functions. You have to wrap the main function like this to get error values other than zero in case of an error: Func _DotNet_Load($sDllPath) Local $Result = __DotNet_Wrapper($sDllPath, $DOTNET_LOADDLL) Return SetError(@error, @extended, $Result) EndFunc ;==>_DotNet_Load Tested on V3.3.8.1 but behaviour should be the same on newer AutoIt versions. Oh yeah, we had a debate about this in the MVP section on why my approach doesn't work (but I think it should), I will fix the code. Thanks. UDF List:  _AdapterConnections() ⢠_AlwaysRun() ⢠_AppMon() ⢠_AppMonEx() ⢠_ArrayFilter/_ArrayReduce ⢠_BinaryBin() ⢠_CheckMsgBox() ⢠_CmdLineRaw() ⢠_ContextMenu() ⢠_ConvertLHWebColor()/_ConvertSHWebColor() ⢠_DesktopDimensions() ⢠_DisplayPassword() ⢠_DotNet_Load()/_DotNet_Unload() ⢠_Fibonacci() ⢠_FileCompare() ⢠_FileCompareContents() ⢠_FileNameByHandle() ⢠_FilePrefix/SRE() ⢠_FindInFile() ⢠_GetBackgroundColor()/_SetBackgroundColor() ⢠_GetConrolID() ⢠_GetCtrlClass() ⢠_GetDirectoryFormat() ⢠_GetDriveMediaType() ⢠_GetFilename()/_GetFilenameExt() ⢠_GetHardwareID() ⢠_GetIP() ⢠_GetIP_Country() ⢠_GetOSLanguage() ⢠_GetSavedSource() ⢠_GetStringSize() ⢠_GetSystemPaths() ⢠_GetURLImage() ⢠_GIFImage() ⢠_GoogleWeather() ⢠_GUICtrlCreateGroup() ⢠_GUICtrlListBox_CreateArray() ⢠_GUICtrlListView_CreateArray() ⢠_GUICtrlListView_SaveCSV() ⢠_GUICtrlListView_SaveHTML() ⢠_GUICtrlListView_SaveTxt() ⢠_GUICtrlListView_SaveXML() ⢠_GUICtrlMenu_Recent() ⢠_GUICtrlMenu_SetItemImage() ⢠_GUICtrlTreeView_CreateArray() ⢠_GUIDisable() ⢠_GUIImageList_SetIconFromHandle() ⢠_GUIRegisterMsg() ⢠_GUISetIcon() ⢠_Icon_Clear()/_Icon_Set() ⢠_IdleTime() ⢠_InetGet() ⢠_InetGetGUI() ⢠_InetGetProgress() ⢠_IPDetails() ⢠_IsFileOlder() ⢠_IsGUID() ⢠_IsHex() ⢠_IsPalindrome() ⢠_IsRegKey() ⢠_IsStringRegExp() ⢠_IsSystemDrive() ⢠_IsUPX() ⢠_IsValidType() ⢠_IsWebColor() ⢠_Language() ⢠_Log() ⢠_MicrosoftInternetConnectivity() ⢠_MSDNDataType() ⢠_PathFull/GetRelative/Split() ⢠_PathSplitEx() ⢠_PrintFromArray() ⢠_ProgressSetMarquee() ⢠_ReDim() ⢠_RockPaperScissors()/_RockPaperScissorsLizardSpock() ⢠_ScrollingCredits ⢠_SelfDelete() ⢠_SelfRename() ⢠_SelfUpdate() ⢠_SendTo() ⢠_ShellAll() ⢠_ShellFile() ⢠_ShellFolder() ⢠_SingletonHWID() ⢠_SingletonPID() ⢠_Startup() ⢠_StringCompact() ⢠_StringIsValid() ⢠_StringRegExpMetaCharacters() ⢠_StringReplaceWholeWord() ⢠_StringStripChars() ⢠_Temperature() ⢠_TrialPeriod() ⢠_UKToUSDate()/_USToUKDate() ⢠_WinAPI_Create_CTL_CODE() ⢠_WinAPI_CreateGUID() ⢠_WMIDateStringToDate()/_DateToWMIDateString() ⢠Au3 script parsing ⢠AutoIt Search ⢠AutoIt3 Portable ⢠AutoIt3WrapperToPragma ⢠AutoItWinGetTitle()/AutoItWinSetTitle() ⢠Coding ⢠DirToHTML5 ⢠FileInstallr ⢠FileReadLastChars() ⢠GeoIP database ⢠GUI - Only Close Button ⢠GUI Examples ⢠GUICtrlDeleteImage() ⢠GUICtrlGetBkColor() ⢠GUICtrlGetStyle() ⢠GUIEvents ⢠GUIGetBkColor() ⢠Int_Parse() & Int_TryParse() ⢠IsISBN() ⢠LockFile() ⢠Mapping CtrlIDs ⢠OOP in AutoIt ⢠ParseHeadersToSciTE() ⢠PasswordValid ⢠PasteBin ⢠Posts Per Day ⢠PreExpand ⢠Protect Globals ⢠Queue() ⢠Resource Update ⢠ResourcesEx ⢠SciTE Jump ⢠Settings INI ⢠SHELLHOOK ⢠Shunting-Yard ⢠Signature Creator ⢠Stack() ⢠Stopwatch() ⢠StringAddLF()/StringStripLF() ⢠StringEOLToCRLF() ⢠VSCROLL ⢠WM_COPYDATA ⢠More Examples... Updated: 22/04/2018
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now