-
Posts
2,796 -
Joined
-
Last visited
-
Days Won
18
Everything posted by ptrex
-
Thanks... good to see it is still working after so many years 🙂
-
You can check your DirectX version running this tool : dxdiag.exe On Windows 10 x64 using latest updates it will be Directx v12
- 25 replies
-
- user interface
- directx
-
(and 1 more)
Tagged with:
-
Still no success, even with argumentum script version ... Still the same error message PLEASE INSTALL THE LATEST VERSION of DIRECTX ? For Win10 x64 this is already installed on my machine. Even if the script run in x86 or x64, same error ...?
- 25 replies
-
- user interface
- directx
-
(and 1 more)
Tagged with:
-
I tried it on a x64 Win 10... But there is an error Cannot load imgui.dll Please update to the latest version of DirectX Event though I have DirectX v12 installed.
- 25 replies
-
- user interface
- directx
-
(and 1 more)
Tagged with:
-
Question depends on whether is it XLS or XLSX ... If it is XLS you can also use the famous LogParser COM object to read XLS to CSV in a very fast way... See here for examples LogParser If you need to access XLSX files, you can use the EPPlus Library in PowerShell ... Since Au3 and PS1 are now able to work together you can combine the 2 together. Or you can use the ADODB as well : Const $adOpenStatic = 3 Const $adLockOptimistic = 3 Const $adCmdText = 0x0001 Global $s_Filename=FileGetShortName("C:\Temp\samplereport.xlsx") Global $s_Tablename = "[Sheet1$]" ; Initialize COM error handler $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Source XLS data $objConnection = ObjCreate("ADODB.Connection") $objRecordSet = ObjCreate("ADODB.Recordset") $objConnection.Open ("Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source="&$s_Filename&";" & _ "Extended Properties=""Excel 12.0 Xml;HDR=YES;"";") $objRecordSet.Open ("Select Count(*) FROM"& $s_Tablename & "Order by 1 Asc" , $objConnection, $adOpenStatic, $adLockOptimistic, $adCmdText) Do ConsoleWrite ($objRecordSet.Fields(0).value+1 &@CR) ; + 1 because it is 0 based $objRecordSet.MoveNext() Until $objRecordSet.EOF() $objConnection.Close $objConnection = "" $objRecordSet = "" Func MyErrFunc() $HexNumber=hex($oMyError.number,8) Msgbox(0,"COM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _ "err.description is: " & @TAB & $oMyError.description & @CRLF & _ "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _ "err.number is: " & @TAB & $HexNumber & @CRLF & _ "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _ "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _ "err.source is: " & @TAB & $oMyError.source & @CRLF & _ "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _ "err.helpcontext is: " & @TAB & $oMyError.helpcontext _ ) SetError(1) ; to check for after this function returns Endfunc Enjoy !
-
Here you go ... Enjoy ! Device API.zip
-
OK done...
-
This is the refurbished version for the latest Version. Enjoy !! BLOB Demo.zip
-
Maybe here ?
-
Since 2011 the scripting world has evolved a lot ! In Powershell this is 6 lines of code and runs lightning fast... If you persist in using AutoIT, you can run the PS code using the .NET Common Language Runtime (CLR) Framework If you are interested ...
-
@VeeDub This way is a much easier way to pause Dropbox syncing #include <MsgBoxConstants.au3> Local $aProcessList = ProcessList("dropbox.exe") For $i = 1 To $aProcessList[0][0] _ProcessSuspend($aProcessList[$i][1]) MsgBox($MB_SYSTEMMODAL, "", $aProcessList[$i][0] & @CRLF & "PID: " & $aProcessList[$i][1]) Next sleep(5000) Local $aProcessList = ProcessList("dropbox.exe") For $i = 1 To $aProcessList[0][0] _ProcessResume($aProcessList[$i][1]) MsgBox($MB_SYSTEMMODAL, "", $aProcessList[$i][0] & @CRLF & "PID: " & $aProcessList[$i][1]) Next Func _ProcessSuspend($Process) $processid = ProcessExists($Process) If $processid Then $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $processid) $i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_Handle[0]) DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle) If IsArray($i_sucess) Then Return 1 Else SetError(1) Return 0 EndIf Else SetError(2) Return 0 EndIf EndFunc ;==>_ProcessSuspend Enjoy !
-
@Veedub, What can you expect after 8 years... The GUI of Dropbox has changed drastically... so this old script will not work anymore. If I see the time in between I can see if there is an update possible. But I can't make any promisses.
-
Test SQL 2016 Connection with CLR
ptrex replied to buymeapc's topic in AutoIt General Help and Support
The challenge with .NET CLR and AutoIT is that the data type conversion between the 2 is not working out well in some cases.... Better approach is to use the PS AUTOMATION Object that works in 100% of the cases. Because the type conversion is done outside of the CLR host. Example : (Dont forget to change the database connection details) #AutoIt3Wrapper_UseX64=y #include "CLR.Au3" Local $PS_Script = "CLS" & @LF $PS_Script &= "" & @LF $PS_Script &= "$QueryStr = 'Select * From TableX'" & @LF $PS_Script &= "" & @LF $PS_Script &= "$SqlConnection = New-Object System.Data.SqlClient.SqlConnection" & @LF $PS_Script &= "" & @LF $PS_Script &= "$SqlConnection.ConnectionString = 'Server=serverip;Database=dbname;UID=user;PWD=aaaa;'" & @LF $PS_Script &= "" & @LF $PS_Script &= "$SqlCmd = New-Object System.Data.SqlClient.SqlCommand" & @LF $PS_Script &= "$SqlCmd.CommandText = $QueryStr" & @LF $PS_Script &= "" & @LF $PS_Script &= "$SqlCmd.Connection = $SqlConnection" & @LF $PS_Script &= "" & @LF $PS_Script &= "$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter" & @LF $PS_Script &= "$SqlAdapter.SelectCommand = $SqlCmd" & @LF $PS_Script &= "" & @LF $PS_Script &= "$DataSet = New-Object System.Data.DataSet" & @LF $PS_Script &= "$SqlAdapter.Fill($DataSet) " & @LF $PS_Script &= "" & @LF $PS_Script &= "'Rows # : ' + $DataSet.tables.rows.count" & @LF $PS_Script &= "$DataSet.tables.rows | Out-GridView -Title AutoIT # Export-CSV " & @LF $PS_Script &= "" & @LF $PS_Script &= "$SqlConnection.Close() " & @LF $PS_Script &= "" & @LF _Run_PSHost_Script($PS_Script) Func _Run_PSHost_Script($PSScript) Local $oAssembly = _CLR_LoadLibrary("System.Management.Automation") ConsoleWrite("!$oAssembly: " & IsObj($oAssembly) & @CRLF) ; Create Object Local $pAssemblyType = 0 $oAssembly.GetType_2("System.Management.Automation.PowerShell", $pAssemblyType) ConsoleWrite("$pAssemblyType = " & Ptr($pAssemblyType) & @CRLF) Local $oActivatorType = ObjCreateInterface($pAssemblyType, $sIID_IType, $sTag_IType) ConsoleWrite("IsObj( $oAssemblyType ) = " & IsObj($oActivatorType) & @TAB & @CRLF) ; Create Object Local $pObjectPS = 0 $oActivatorType.InvokeMember_3("Create", 0x158, 0, 0, 0, $pObjectPS) ConsoleWrite("IsObject: " & IsObj($pObjectPS) & @TAB & "$pObject: " & ObjName($pObjectPS) & @CRLF) ; <<<<<<<<<<<<<<<<<<< PS COMMAND HERE >>>>>>>>>>>>>>>>>>>> $pObjectPS.AddScript($PSScript) ; Add Script here ;~ ConsoleWrite($PSScript & @CRLF) $objAsync = $pObjectPS.BeginInvoke ; (2); ($oActivatorType,$oActivatorType) While $objAsync.IsCompleted = False ;~ ConsoleWrite($objAsync.IsCompleted & @CRLF) ContinueLoop WEnd ConsoleWrite("Completed : " & $objAsync.IsCompleted & @CRLF) $objPsCollection = $pObjectPS.EndInvoke($objAsync) ;~ ConsoleWrite("$objPsCollection: " & IsObj($objPsCollection) & @TAB & "$objPsCollection: " & ObjName($objPsCollection) & " - " & ObjName($objPsCollection,6) & " - " & ObjName($objPsCollection,3) & @CRLF) $Whnd = WinGetHandle("AutoIT") ConsoleWrite($Whnd & @CRLF) WinWaitClose($Whnd) ConsoleWrite("closed !" & @CRLF) EndFunc Enjoy ! -
Added 2 modifications to make it more universal line 44 added a SPACE as delimiter GUICtrlSetData($idDelimiter, " ; semicolon* tab* | pipe* space") ; ptrex line 675 added more file filter options "CSV files (*.csv))|Text (*.txt))|Log (*.log)|All (*.*)", _ ; ptrex To skip X number of header rows you need to create variable that holds the number ... And modify line 801 For $i = $iFirstItem + 4 To $iRows - 1 ; ptrex + 4 to skip 6 rows (0 to 4 + 1 Header Row) And line 997 For $i = 0 + 4 To $iBound -1 ; ptrex replaced 0 to 5 to skip 6 Rows
-
@pixelsearch Nice tool ! Missing still possibility for skipping more than 1 headers rows ? Rgds, ptrex
-
WASAPI Audio Capture w/ loopback (WHAT U HEAR) UDF
ptrex replied to Bilgus's topic in AutoIt Example Scripts
Might be interesting... Enum WASAPI OPBJECTS https://matthewvaneerde.wordpress.com/2010/06/03/how-to-enumerate-wasapi-audio-processing-objects-apos-on-your-system/ https://github.com/mvaneerde/blog/tree/develop/apoenum- 32 replies
-
.NET Common Language Runtime (CLR) Framework
ptrex replied to ptrex's topic in AutoIt Example Scripts
Here is an other more advanced Example that uses the SSRS Reporting .NET Assembly using CLR Library Features : • Multiple Data Sources available• Can run in REMOTE or LOCAL Mode• Export possible to XLS(X) / DOC(X) / PDF Result : CLR using the PS Automation Assembly : #AutoIt3Wrapper_UseX64=y #include "..\CLR.Au3" #include <FileConstants.au3> #include <MsgBoxConstants.au3> Local $str = _Base64Decode("JFJ1bnNwYWNlID0gW3J1bnNwYWNlZmFjdG9yeV06OkNyZWF0ZVJ1bnNwYWNlKCkNCg0KJFJ1bnNwYWNlLkFwYXJ0bWVudFN0YXRlID0gIlNUQSIgIyBDaGFuZ2UgaGVyZSAhDQokUnVuc3BhY2UuVGhyZWFkT3B0aW9ucyA9ICJSZXVzZVRocmVhZCINCg0KJFBvd2VyU2hlbGwgPSBbcG93ZXJzaGVsbF06OkNyZWF0ZSgpDQoNCiRQb3dlclNoZWxsLnJ1bnNwYWNlID0gJFJ1bnNwYWNlDQoNCiRSdW5zcGFjZS5PcGVuKCkNCg0KJHN0cmluZyA9IHsgDQpBZGQtVHlwZSAtUGF0aCAiQzpcV0lORE9XU1xhc3NlbWJseVxHQUNfTVNJTFxNaWNyb3NvZnQuUmVwb3J0Vmlld2VyLldpbkZvcm1zXDEyLjAuMC4wX184OTg0NWRjZDgwODBjYzkxXE1pY3Jvc29mdC5SZXBvcnRWaWV3ZXIuV2luRm9ybXMuZGxsIg0KQWRkLVR5cGUgLVBhdGggIkM6XF9cQXBwc1xfUG93ZXJTaGVsbFxfR1VJIEZvcm1zXC5ORVQgU1NSUyBSZXBvcnQgU2VydmVyXFN5c3RlbS5EYXRhLlNRTGl0ZS5kbGwiDQojIEFkZC1UeXBlIC1QYXRoICJDOlxQcm9ncmFtRGF0YVxMSU5RUGFkXERyaXZlcnNcRGF0YUNvbnRleHRcNC4wXElRRHJpdmVyICg1YjU5NzI2NTM4YTQ5Njg0KVx4NjRcU3lzdGVtLkRhdGEuU1FMaXRlLmRsbCINCg0KICRjb24gPSBOZXctT2JqZWN0IC1UeXBlTmFtZSBTeXN0ZW0uRGF0YS5TUUxpdGUuU1FMaXRlQ29ubmVjdGlvbg0KICRjb24uQ29ubmVjdGlvblN0cmluZyA9ICJEYXRhIFNvdXJjZT1DOlxfXEFwcHNcX0RvdE5ldCBTY3JpcHRpbmdcLk5FVCBTUUxpdGUgTGlicmFyeVxub3J0aHdpbmRFRi5kYiINCiAkY29uLk9wZW4oKQ0KDQogJHNxbCA9ICRjb24uQ3JlYXRlQ29tbWFuZCgpDQogJHNxbC5Db21tYW5kVGV4dCA9ICJTRUxFQ1QgKiBGUk9NIEN1c3RvbWVycyINCiAkYWRhcHRlciA9IE5ldy1PYmplY3QgLVR5cGVOYW1lIFN5c3RlbS5EYXRhLlNRTGl0ZS5TUUxpdGVEYXRhQWRhcHRlciAkc3FsDQogJGRhdGEgPSBOZXctT2JqZWN0IFN5c3RlbS5EYXRhLkRhdGFTZXQNCiBbdm9pZF0kYWRhcHRlci5GaWxsKCRkYXRhKQ0KDQokcnYgPSBOZXctT2JqZWN0IE1pY3Jvc29mdC5SZXBvcnRpbmcuV2luRm9ybXMuUmVwb3J0Vmlld2VyOw0KIyAkcnYuU2VydmVyUmVwb3J0LlJlcG9ydFNlcnZlckNyZWRlbnRpYWxzLk5ldHdvcmtDcmVkZW50aWFscyA9ICRjcmVkZW50aWFsDQogICAgICAgICAgDQoNCiMgaHR0cHM6Ly93d3cuY29kZXByb2plY3QuY29tL1F1ZXN0aW9ucy81MTE2MzEvUmVwb3J0Vmlld2VycGx1c3JlbmRlcmluZ3BsdXNwcm9ibGVtICAgICAgICAgDQogICAgICAgICAgICANCiRydi5Qcm9jZXNzaW5nTW9kZSA9ICJMb2NhbCIgICAgICAgICAgICANCiRydi5Mb2NhbFJlcG9ydC5SZXBvcnRQYXRoID0gIkM6XF9cQXBwc1xfUG93ZXJTaGVsbFxfTVMgU1FMIFJlcG9ydGluZyBTZXJ2ZXJcQ3VzdG9tZXJzLnJkbCINCndyaXRlLWhvc3QgJHJ2LkxvY2FsUmVwb3J0LkdldERhdGFTb3VyY2VOYW1lcygpDQoNCiRkcyA9IE5ldy1vYmplY3QgTWljcm9zb2Z0LlJlcG9ydGluZy5XaW5Gb3Jtcy5SZXBvcnREYXRhU291cmNlDQokZHMuTmFtZSA9ICJEYXRhU2V0MSIgICMgJHJ2LkxvY2FsUmVwb3J0LkdldERhdGFTb3VyY2VOYW1lcygpICMgIkRhdGFTZXQxIg0KJGRzLlZhbHVlID0gJGRhdGEudGFibGVzWzBdDQoNCiMgJHJ2LlJlc2V0KCk7DQokcnYuTG9jYWxSZXBvcnQuRGF0YVNvdXJjZXMuQ2xlYXIoKQ0KDQokcnYuTG9jYWxSZXBvcnQuRGF0YVNvdXJjZXMuQWRkKCRkcykNCg0KJHJ2LkxvY2FsUmVwb3J0LlJlZnJlc2goKTsNCiRydi5SZWZyZXNoUmVwb3J0KCkNCg0KJHJ2LkhlaWdodCA9IDgwMCAgICAgICAgICAgIA0KJHJ2LldpZHRoID0gMTIwMCAgICAgICAgICAgIA0KJHJ2LkRvY2sgPSBbU3lzdGVtLldpbmRvd3MuRm9ybXMuRG9ja1N0eWxlXTo6RmlsbA0KICAgICAgIA0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICANCiNTaG93IGFzIERpYWxvZyBVc2luZyBXaW5kb3dzIEZvcm0gICAgICAgICAgICANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgIA0KI2NyZWF0ZSBhIG5ldyBmb3JtICAgICAgICAgICAgDQokZm9ybSA9IE5ldy1PYmplY3QgV2luZG93cy5Gb3Jtcy5Gb3JtICAgICAgICAgICAgDQogICAgICAgICAgICAgDQojd2UncmUgZ29pbmcgdG8gbWFrZSBpdCBqdXN0IHNsaWdodGx5IGJpZ2dlciB0aGFuICAgICAgICAgICAgIA0KJGZvcm0uSGVpZ2h0ID0gODEwICAgICAgICAgICAgDQokZm9ybS5XaWR0aD0gMTIxMCAgICAgICAgICAgIA0KJGZvcm0uQ29udHJvbHMuQWRkKCRydikgICAgICAgICAgICANCiRydi5TaG93KCkgICAgICAgICAgICANCiRmb3JtLlNob3dEaWFsb2coKSAgICAgICAgICAgIA0KDQoNCiRzcWwuRGlzcG9zZSgpDQokY29uLkNsb3NlKCkNCn0NCg0KDQpbdm9pZF0kUG93ZXJTaGVsbC5BZGRTY3JpcHQoJHN0cmluZykNCg0KJFBvd2VyU2hlbGwuSW52b2tlKCkgDQo=") _Run_PSHost_Script(BinaryToString($str,1)) Func _Run_PSHost_Script($PSScript) Local $oAssembly = _CLR_LoadLibrary("System.Management.Automation") ConsoleWrite("!$oAssembly: " & IsObj($oAssembly) & @CRLF) ; Create Object Local $pAssemblyType = 0 $oAssembly.GetType_2("System.Management.Automation.PowerShell", $pAssemblyType) ConsoleWrite("$pAssemblyType = " & Ptr($pAssemblyType) & @CRLF) Local $oActivatorType = ObjCreateInterface($pAssemblyType, $sIID_IType, $sTag_IType) ConsoleWrite("IsObj( $oAssemblyType ) = " & IsObj($oActivatorType) & @TAB & @CRLF) ; Create Object Local $pObjectPS = 0 $oActivatorType.InvokeMember_3("Create", 0x158, 0, 0, 0, $pObjectPS) ConsoleWrite("IsObject: " & IsObj($pObjectPS) & @TAB & "$pObject: " & ObjName($pObjectPS) & @CRLF) ; <<<<<<<<<<<<<<<<<<< PS COMMAND HERE >>>>>>>>>>>>>>>>>>>> $pObjectPS.AddScript($PSScript) ; Add Script here ;~ ConsoleWrite($PSScript & @CRLF) $objAsync = $pObjectPS.BeginInvoke ; (2); ($oActivatorType,$oActivatorType) While $objAsync.IsCompleted = False ;~ ConsoleWrite($objAsync.IsCompleted & @CRLF) ContinueLoop WEnd ConsoleWrite("Completed : " & $objAsync.IsCompleted & @CRLF) $objPsCollection = $pObjectPS.EndInvoke($objAsync) ;~ ConsoleWrite("$objPsCollection: " & IsObj($objPsCollection) & @TAB & "$objPsCollection: " & ObjName($objPsCollection) & " - " & ObjName($objPsCollection,6) & " - " & ObjName($objPsCollection,3) & @CRLF) EndFunc Func _Base64Decode($input_string) Local $struct = DllStructCreate("int;int;int") Local $dwFlags = 1 ; Base64, no headers DllCall("Crypt32.dll", "int", "CryptStringToBinary", _ "str", $input_string, _ "int", StringLen($input_string), _ "int", $dwFlags, _ "ptr", 0, _ "ptr", DllStructGetPtr($struct, 1), _ "ptr", DllStructGetPtr($struct, 2), _ "ptr", DllStructGetPtr($struct, 3)) Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]") DllCall("Crypt32.dll", "int", "CryptStringToBinary", _ "str", $input_string, _ "int", StringLen($input_string), _ "int", $dwFlags, _ "ptr", DllStructGetPtr($a), _ "ptr", DllStructGetPtr($struct, 1), _ "ptr", DllStructGetPtr($struct, 2), _ "ptr", DllStructGetPtr($struct, 3)) Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode Downloads : SSRS Assembly here : 2008 / 2010 / 2012 or 2015 Many thanks for the developer(s) of the SSRS .NET Assembly ! Enjoy ! ptrex -
.NET Common Language Runtime (CLR) Framework
ptrex replied to ptrex's topic in AutoIt Example Scripts
Here is a more Advanced example using the Ribbon .NET Assembly using CLR Library Features : • Easy to use (WYSIWYG) • Compatible with .net 2.0 and above • Easy to integrate in an application • Support different layout Themes : Office 2007 / 2010 / 2013 Documentation : New Site : https://github.com/RibbonWinForms/RibbonWinForms Old Site : https://www.codeproject.com/Articles/364272/Easily-Add-a-Ribbon-into-a-WinForms-Application-Cs?fid=1704255&df=90&mpp=25&sort=Position&view=Normal&spc=Relaxed&fr=101&prof=True Movie : shows how to use it in VS using C# Result : CLR using the PS Automation Assembly : #AutoIt3Wrapper_UseX64=y #include "CLR.Au3" #include <FileConstants.au3> #include <MsgBoxConstants.au3> Local $str = "Q0xTCiMgaHR0cHM6Ly9naXRodWIuY29tL1JpYmJvbldpbkZvcm1zL1JpYmJvbldpbkZvcm1zCiMgc2VlIGhlcmUgZm9yIHRpcHMgCiMgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1PUHJqN2MxQ1lJZwoKJFJ1bnNwYWNlID0gW3J1bnNwYWNlZmFjdG9yeV06OkNyZWF0ZVJ1bnNwYWNlKCkKCiRSdW5zcGFjZS5BcGFydG1lbnRTdGF0ZSA9ICJTVEEiICMgQ2hhbmdlIGhlcmUgIQokUnVuc3BhY2UuVGhyZWFkT3B0aW9ucyA9ICJSZXVzZVRocmVhZCIKCiRQb3dlclNoZWxsID0gW3Bvd2Vyc2hlbGxdOjpDcmVhdGUoKQoKJFBvd2VyU2hlbGwuUnVuc3BhY2UgPSAkUnVuc3BhY2UKCiRSdW5zcGFjZS5PcGVuKCkKCiRob3N0LlJ1bnNwYWNlLlRocmVhZE9wdGlvbnMudmFsdWVfXwokUnVuc3BhY2UuUnVuc3BhY2VTdGF0ZUluZm8KCiMgU3RhcnQgCiRzdHJpbmcgPSB7IAoKQWRkLVR5cGUgLVBhdGggKCIkUFdEXFN5c3RlbS5XaW5kb3dzLkZvcm1zLlJpYmJvbjM1LmRsbCIpCiRmb3JtID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Gb3JtCiRmb3JtLlNpemUgPSBOZXctT2JqZWN0IFN5c3RlbS5EcmF3aW5nLlNpemUoNjAwLDMwMCkKJGZvcm0uVG9wTW9zdCA9ICR0cnVlCiRmb3JtLlN0YXJ0UG9zaXRpb24gPSAiQ2VudGVyU2NyZWVuIgoKJGZvcm0uQXV0b1NjYWxlbW9kZSA9ICJGb250IiAjIEVudW0gRm9udCBvciBEUEkKJGZvcm0uQXV0b1NpemUgPSAkdHJ1ZQokZm9ybS5BdXRvU2l6ZU1vZGUgPSAiR3Jvd09ubHkiICAjICJHcm93QW5kU2hyaW5rIgoKJGZvcm0uU3VzcGVuZExheW91dCgpCgojIE9iamVjdHMKJHJpYmJvbiA9IE5ldy1PYmplY3QgU3lzdGVtLldpbmRvd3MuRm9ybXMuUmliYm9uCiR0YWIxID0gTmV3LW9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5SaWJib25UYWIKJHRhYjIgPSBOZXctb2JqZWN0IFN5c3RlbS5XaW5kb3dzLkZvcm1zLlJpYmJvblRhYgokTWVudUl0ZW0xID0gTmV3LW9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5SaWJib25PcmJNZW51SXRlbQokcGFuZWwxID0gTmV3LW9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5SaWJib25QYW5lbAokYnV0dG9uMSA9IE5ldy1vYmplY3QgU3lzdGVtLldpbmRvd3MuRm9ybXMuUmliYm9uQnV0dG9uCgojICRyaWJib24gfCBnZXQtbWVtYmVyCiMgJHJpYmJvbi5QYXJlbnQKCiMgcmliYm9uMQokcmliYm9uLkZvbnQgPSBOZXctT2JqZWN0IFN5c3RlbS5EcmF3aW5nLkZvbnQoIlNlZ29lIFVJIiwgOSk7CiRyaWJib24uTG9jYXRpb24gPSBOZXctT2JqZWN0IFN5c3RlbS5EcmF3aW5nLlBvaW50KDAsIDApOwokcmliYm9uLk1pbmltaXplZCA9ICRmYWxzZTsKJHJpYmJvbi5OYW1lID0gInJpYmJvbjEiOwoKJHJpYmJvbi5PcmJTdHlsZSA9ICJPZmZpY2VfMjAwNyIgIyAiT2ZmaWNlXzIwMTAiIG9yICJPZmZpY2VfMjAxMyIKIyRyaWJib24uVmlzaWJsZSA9ICR0cnVlCgokcmliYm9uLk9yYkRyb3BEb3duLkJvcmRlclJvdW5kbmVzcyA9IDg7CiRyaWJib24uT3JiRHJvcERvd24uTG9jYXRpb24gPSBOZXctT2JqZWN0IFN5c3RlbS5EcmF3aW5nLlBvaW50KDAsIDApOwokcmliYm9uLk9yYkRyb3BEb3duLk1lbnVJdGVtcy5BZGQoJE1lbnVJdG" $str &= "VtMSk7CiRyaWJib24uT3JiRHJvcERvd24uTmFtZSA9ICJEcm9wIjsKJHJpYmJvbi5PcmJEcm9wRG93bi5TaXplID0gTmV3LU9iamVjdCBTeXN0ZW0uRHJhd2luZy5TaXplKDUyNywgMTE2KTsKJHJpYmJvbi5PcmJEcm9wRG93bi5UYWJJbmRleCA9IDA7CiRyaWJib24uT3JiSW1hZ2UgPSAkbnVsbDsKJHJpYmJvbi5SaWJib25UYWJGb250ID0gTmV3LU9iamVjdCBTeXN0ZW0uRHJhd2luZy5Gb250KCJUcmVidWNoZXQgTVMiLCA5KTsKJHJpYmJvbi5TaXplID0gTmV3LU9iamVjdCBTeXN0ZW0uRHJhd2luZy5TaXplKDEyODAsIDIwMCk7CiRyaWJib24uVGFiSW5kZXggPSAwOwokcmliYm9uLlRhYnMuQWRkKCRUYWIxKTsKJHJpYmJvbi5UYWJzTWFyZ2luID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5QYWRkaW5nKDEyLCAyNiwgMjAsIDApOwokcmliYm9uLlRleHQgPSAicmliYm9uMSI7CiRyaWJib24uVGhlbWVDb2xvciA9ICJCbHVlIjsKJHJpYmJvbi5IZWlnaHQgPSAxNTAKCiMgcmliYm9uT3JiTWVudUl0ZW0xCiRNZW51SXRlbTEuRHJvcERvd25BcnJvd0RpcmVjdGlvbiA9ICJMZWZ0IjsKJE1lbnVJdGVtMS5JbWFnZSA9IFtTeXN0ZW0uRHJhd2luZy5JbWFnZV06OkZyb21GaWxlKCIkUFdEXEFCRi1PdXRsb29rLUV4cHJlc3MtQmFja3VwLmdpZiIpIAojICgoU3lzdGVtLkRyYXdpbmcuSW1hZ2UpKHJlc291cmNlcy5HZXRPYmplY3QoInJpYmJvbk9yYk1lbnVJdGVtMS5JbWFnZSIpKSk7CiRNZW51SXRlbTEuU21hbGxJbWFnZSA9IFtTeXN0ZW0uRHJhd2luZy5JbWFnZV06OkZyb21GaWxlKCIkUFdEXEFCRi1PdXRsb29rLUV4cHJlc3MtQmFja3VwLmdpZiIpIAojICgoU3lzdGVtLkRyYXdpbmcuSW1hZ2UpKHJlc291cmNlcy5HZXRPYmplY3QoInJpYmJvbk9yYk1lbnVJdGVtMS5TbWFsbEltYWdlIikpKTsKJE1lbnVJdGVtMS5UZXh0ID0gInJpYmJvbk9yYk1lbnVJdGVtMSI7CgojIHJpYmJvblRhYjEKJFRhYjEuUGFuZWxzLkFkZCgkcGFuZWwxKTsKJFRhYjEuVGV4dCA9ICJyaWJib25UYWIxIjsKCiMgcmliYm9uUGFuZWwxCiRQYW5lbDEuSXRlbXMuQWRkKCRCdXR0b24xKTsKJFBhbmVsMS5UZXh0ID0gInJpYmJvblBhbmVsMSI7CgojIHJpYmJvbkJ1dHRvbjF6enp6enoKJEJ1dHRvbjEuSW1hZ2UgPSBbU3lzdGVtLkRyYXdpbmcuSW1hZ2VdOjpGcm9tRmlsZSgiJFBXRFxTYXZlSXRlbS5wbmciKSAKIygoU3lzdGVtLkRyYXdpbmcuSW1hZ2UpKHJlc291cmNlcy5HZXRPYmplY3QoInJpYmJvbkJ1dHRvbjEuSW1hZ2UiKSkpOwokQnV0dG9uMS5TbWFsbEltYWdlID0gW1N5c3RlbS5EcmF3aW5nLkltYWdlXTo6RnJvbUZpbGUoIiRQV0RcU2F2ZUl0ZW0ucG5nIikgCiMgKChTeXN0ZW0uRHJhd2luZy5JbWFnZSkocmVzb3VyY2VzLkdldE9iamVjdCgicmliYm9uQnV0dG9uMS5TbWFsbEltYWdlIikpKTsKJEJ1dHRvbjEuVGV4dCA9ICJyaWJib25CdXR0b24xIjsKCiRCdXR0b24xLmFkZF9jbGljayh7CiAgICAkbWVzc2FnZWJveHJlcGx5ID0gW1N5c3RlbS5XaW5kb3dzLkZvcm1zLk1lc3NhZ2VCb3hdOjpTaG93KCJEbyB5b3Ugd2lzaCB0byBjb250aW51ZSA/IiwiV2VsY29tZSIsMykKfSkKCiMgcmliYm9uVGFiMgokVGFiMi5UZXh0ID0gInJpYmJvblRhYjIiOwoKJGZvcm0uQ29udHJvbHMuQWRkKCRyaWJib24pCgokZm9ybS5SZXN1bWVMYXlvdXQoJGZhbHNlKQoKJGZvcm0uU2hvd0RpYWxvZygpCn0KCiNFbmQKClt2b2lkXSRQb3dlclNoZWxsLkFkZFNjcmlwdCgkc3RyaW5nKQoKJFBvd2VyU2hlbGwuSW52b2tlKCkgCgokUG93ZXJTaGVsbC5FbmRJbnZva2UKCiRSdW5zcGFjZS5DbG9zZSgpCiRQb3dlcnNoZWxsLkRpc3Bvc2UoKQ==" ConsoleWrite($str & @CRLF) $str = _Base64Decode($str) _Run_PSHost_Script(BinaryToString($str,1)) Func _Run_PSHost_Script($PSScript) Local $oAssembly = _CLR_LoadLibrary("System.Management.Automation") ConsoleWrite("!$oAssembly: " & IsObj($oAssembly) & @CRLF) ; Create Object Local $pAssemblyType = 0 $oAssembly.GetType_2("System.Management.Automation.PowerShell", $pAssemblyType) ConsoleWrite("$pAssemblyType = " & Ptr($pAssemblyType) & @CRLF) Local $oActivatorType = ObjCreateInterface($pAssemblyType, $sIID_IType, $sTag_IType) ConsoleWrite("IsObj( $oAssemblyType ) = " & IsObj($oActivatorType) & @TAB & @CRLF) ; Create Object Local $pObjectPS = 0 $oActivatorType.InvokeMember_3("Create", 0x158, 0, 0, 0, $pObjectPS) ConsoleWrite("IsObject: " & IsObj($pObjectPS) & @TAB & "$pObject: " & ObjName($pObjectPS) & @CRLF) ; <<<<<<<<<<<<<<<<<<< PS COMMAND HERE >>>>>>>>>>>>>>>>>>>> $pObjectPS.AddScript($PSScript) ; Add Script here ;~ ConsoleWrite($PSScript & @CRLF) $objAsync = $pObjectPS.BeginInvoke ; (2); ($oActivatorType,$oActivatorType) While $objAsync.IsCompleted = False ;~ ConsoleWrite($objAsync.IsCompleted & @CRLF) ContinueLoop WEnd ConsoleWrite("Completed : " & $objAsync.IsCompleted & @CRLF) $objPsCollection = $pObjectPS.EndInvoke($objAsync) ;~ ConsoleWrite("$objPsCollection: " & IsObj($objPsCollection) & @TAB & "$objPsCollection: " & ObjName($objPsCollection) & " - " & ObjName($objPsCollection,6) & " - " & ObjName($objPsCollection,3) & @CRLF) EndFunc Func _Base64Decode($input_string) Local $struct = DllStructCreate("int;int;int") Local $dwFlags = 1 ; Base64, no headers DllCall("Crypt32.dll", "int", "CryptStringToBinary", _ "str", $input_string, _ "int", StringLen($input_string), _ "int", $dwFlags, _ "ptr", 0, _ "ptr", DllStructGetPtr($struct, 1), _ "ptr", DllStructGetPtr($struct, 2), _ "ptr", DllStructGetPtr($struct, 3)) Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]") DllCall("Crypt32.dll", "int", "CryptStringToBinary", _ "str", $input_string, _ "int", StringLen($input_string), _ "int", $dwFlags, _ "ptr", DllStructGetPtr($a), _ "ptr", DllStructGetPtr($struct, 1), _ "ptr", DllStructGetPtr($struct, 2), _ "ptr", DllStructGetPtr($struct, 3)) Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode Downloads : RB Assembly here : https://github.com/RibbonWinForms/RibbonWinForms/releases Many thanks for the developer of the Ribbon .NET Assembly ! Enjoy ! ptrex -
.NET Common Language Runtime (CLR) Framework
ptrex replied to ptrex's topic in AutoIt Example Scripts
Hi All, It's been a while since someone posted something in the .NET CLR post ... Here is an example that loads a fully functional Report Designer .NET Assembly using CLR Library Features : • Easy to use (WYSIWYG) • Compartible with .net 2.0 and above • Easy to integrate in an application • Supports most DBMS (SQL server, SQL Express, MYSQL, MS Access & ODBC) • Simple expressions • Grouping and sorting • 1D Barcodes (Code 39, 128 and EAN 13), QR (requires qr library) Result : CLR using the PS Automation Assembly : #AutoIt3Wrapper_UseX64=n #include "CLR.Au3" $str = _Base64Decode("JFJ1bnNwYWNlID0gW3J1bnNwYWNlZmFjdG9yeV06OkNyZWF0ZVJ1bnNwYWNlKCkNCg0KJFJ1bnNwYWNlLkFwYXJ0bWVudFN0YXRlID0gIlNUQSIgIyBDaGFuZ2UgaGVyZSAhDQokUnVuc3BhY2UuVGhyZWFkT3B0aW9ucyA9ICJSZXVzZVRocmVhZCINCiRob3N0LlJ1bnNwYWNlLlRocmVhZE9wdGlvbnMudmFsdWVfXw0KJFJ1bnNwYWNlLlJ1bnNwYWNlU3RhdGVJbmZvDQoNCiRQb3dlclNoZWxsID0gW3Bvd2Vyc2hlbGxdOjpDcmVhdGUoKQ0KDQokUG93ZXJTaGVsbC5ydW5zcGFjZSA9ICRSdW5zcGFjZQ0KDQokUnVuc3BhY2UuT3BlbigpDQoNCiRzdHJpbmcgPSB7IA0KQWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uV2luZG93cy5Gb3Jtcw0KQWRkLVR5cGUgLVBhdGggIkM6XF9cQXBwc1xfUG93ZXJTaGVsbFxfR1VJIEZvcm1zXC5ORVQgUmVwb3J0IEJ1aWxkZXJcUmVwb3J0RGVzaWduZXI1LjEuMC43LmRsbCINCkFkZC1UeXBlIC1QYXRoICJDOlxfXEFwcHNcX1Bvd2VyU2hlbGxcX0dVSSBGb3Jtc1wuTkVUIFJlcG9ydCBCdWlsZGVyXFFSQ29kZXIuZGxsIg0KQWRkLVR5cGUgLVBhdGggIkM6XF9cQXBwc1xfUG93ZXJTaGVsbFxfR1VJIEZvcm1zXC5ORVQgUmVwb3J0IEJ1aWxkZXJcU3lzdGVtLkRhdGEuU1FMaXRlLmRsbCINCkFkZC1UeXBlIC1QYXRoICJDOlxfXEFwcHNcX1Bvd2VyU2hlbGxcX0dVSSBGb3Jtc1wuTkVUIFJlcG9ydCBCdWlsZGVyXE15U3FsLkRhdGEuZGxsIg0KDQokcmQgPSBOZXctT2JqZWN0IFJlcG9ydERlc2lnbmVyNS5EZXNpZ25lcg0KDQokcmQuUHJvZHVjdFZlcnNpb24NCg0KJHJkID0gTmV3LU9iamVjdCBSZXBvcnREZXNpZ25lcjUuRGVzaWduZXINCiRyZC5TaG93RGlhbG9nKCkNCiRyZC5TaG93UHJvcGVydHkoKQ0KJHJkLlNob3dSZXBvcnRUcmVlKCkNCn0NCg0KW3ZvaWRdJFBvd2VyU2hlbGwuQWRkU2NyaXB0KCRzdHJpbmcpDQoNCiRQb3dlclNoZWxsLkludm9rZSgpIA==") _Run_PSHost_Script(BinaryToString($str,1)) ; 1 = Ansi, 2 = UTF16 Little Endian Func _Run_PSHost_Script($PSScript) Local $oAssembly = _CLR_LoadLibrary("System.Management.Automation") ConsoleWrite("!$oAssembly: " & IsObj($oAssembly) & @CRLF) ; Create Object Local $pAssemblyType = 0 $oAssembly.GetType_2("System.Management.Automation.PowerShell", $pAssemblyType) ConsoleWrite("$pAssemblyType = " & Ptr($pAssemblyType) & @CRLF) Local $oActivatorType = ObjCreateInterface($pAssemblyType, $sIID_IType, $sTag_IType) ConsoleWrite("IsObj( $oAssemblyType ) = " & IsObj($oActivatorType) & @TAB & @CRLF) ; Create Object Local $pObjectPS = 0 $oActivatorType.InvokeMember_3("Create", 0x158, 0, 0, 0, $pObjectPS) ConsoleWrite("IsObject: " & IsObj($pObjectPS) & @TAB & "$pObject: " & ObjName($pObjectPS) & @CRLF) $pObjectPS.AddScript($PSScript) ; Add Script here $objAsync = $pObjectPS.BeginInvoke ; (2); ($oActivatorType,$oActivatorType) While $objAsync.IsCompleted = False ContinueLoop WEnd ConsoleWrite("Completed : " & $objAsync.IsCompleted & @CRLF) $objPsCollection = $pObjectPS.EndInvoke($objAsync) EndFunc Func _Base64Decode($input_string) Local $struct = DllStructCreate("int;int;int") Local $dwFlags = 1 ; Base64, no headers DllCall("Crypt32.dll", "int", "CryptStringToBinary", _ "str", $input_string, _ "int", StringLen($input_string), _ "int", $dwFlags, _ "ptr", 0, _ "ptr", DllStructGetPtr($struct, 1), _ "ptr", DllStructGetPtr($struct, 2), _ "ptr", DllStructGetPtr($struct, 3)) Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]") DllCall("Crypt32.dll", "int", "CryptStringToBinary", _ "str", $input_string, _ "int", StringLen($input_string), _ "int", $dwFlags, _ "ptr", DllStructGetPtr($a), _ "ptr", DllStructGetPtr($struct, 1), _ "ptr", DllStructGetPtr($struct, 2), _ "ptr", DllStructGetPtr($struct, 3)) Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode Downloads : RB Assembly here : https://sourceforge.net/projects/report-builder/ Prequisites : Reference 2 additional Assemblies for this version : 1. QRCoder.dll version 1.3.5 2. SQLIte.dll version 1.0.109 Many thanks for the developer of the Report Builder .NET Assembly ! Enjoy! ptrex -
PureAutoIt machine code compiler small executable
ptrex replied to ghost911's topic in AutoIt Example Scripts
Sure but Linux on x86 or Linux on ARM ? -
PureAutoIt machine code compiler small executable
ptrex replied to ghost911's topic in AutoIt Example Scripts
Hi Ghost911, If PB is crossplatform compatible... that is great ! Any idea if it supports the ARM architecture ? -
DotNet.au3 UDF to access .NET Framework from AutoIt
ptrex replied to LarsJ's topic in AutoIt Example Scripts
@Network_Guy In the .NET Common Language Runtime (CLR) Framework Post You will find .NET EventHandler Helper Example.au3 in the CLRv3a.zip that relies on a .CS helper function... This will help get going ... rgds, ptrex -
Hi LarsJ, Tested and all works fine Thanks ptrex
-
Hi Lars, The Checkbox Combo is a masterpiece again ! But would it be possible to add the SELECT ALL option on top. This functionality would SELECT or DESELECT all checkboxes... This becomes very handy if you have a long list of multiple checkboxes. Forgive me if the functionality is already there, because I did not yet have time to run the UDF on my machine.
-
@tommii Much easier to use the cmd line NETSH Example : netsh advfirewall firewall add rule name="NetBIOS UDP Port 137" dir=in action=allow protocol=UDP localport=137 netsh advfirewall firewall add rule name="NetBIOS UDP Port 137" dir=out action=allow protocol=UDP localport=137 You can define IN or OUT going...
- 37 replies
-
- windows firewall
- udf
-
(and 1 more)
Tagged with: