Leaderboard
Popular Content
Showing content with the highest reputation on 01/09/2021 in all areas
-
Use AutoItX as COM ROT object, without regsvr32 registration
Professor_Bernd and one other reacted to mLipok for a topic
Thanks to @Danyfirex and @jpm we know why.... https://www.autoitscript.com/trac/autoit/ticket/31642 points -
1 point
-
1 point
-
@Romano71 By default, an new temporary profile is created each time you launch the webdriver console (chromedriver, geckodriver, etc). This can be overridden by your script. See FAQ #3 in the wiki (link in sig)1 point
-
InputBoxes
Gianni reacted to seadoggie01 for a topic
I hate designing GUIs. It takes too long and I can't seem to reuse pieces well. Also, I like to have my program run quietly and only ask for things as needed. What bothers me more is when I need to ask a question slightly more complicated than Yes/No or input some text. So I started working on a couple of variations on the InputBox. If you have any additions to this, I'd love to steal include them in this UDF! (Contributions welcome!)1 point -
InputBoxes
seadoggie01 reacted to Gianni for a topic
nice idea, thanks for sharing. p.s. for those interested in the subject, here (https://www.autoitscript.com/forum/topic/183288-extended-input-box-multiple-inputs) is another interesting udf by @Jefrey that allows you to build multiple inputbox on the fly (a sort of small "form" with multiple inputs)1 point -
Use AutoItX as COM ROT object, without regsvr32 registration
Professor_Bernd reacted to argumentum for a topic
parseTTip() Func parseTTip() Local $iWait = 1000 Local $text = "sample tooltip" Local $x = Default Local $y = Default Local $title = "" Local $icon = 0 For $n = 1 To $CmdLine[0] Switch $n Case 1 $iWait = Int($CmdLine[$n]) Case 2 $text = $CmdLine[$n] Case 3 $x = Int($CmdLine[$n]) Case 4 $y = Int($CmdLine[$n]) Case 5 $icon = Int($CmdLine[$n]) EndSwitch Next TTip($iWait, $text, $x, $y, $title, $icon) EndFunc Func TTip($iWait, $text = "sample tooltip", $x = Default, $y = Default, $title = "", $icon = 0) ToolTip($text, $x, $y, $title, $icon) Sleep(Int($iWait)) EndFunc you can call something like this ( compiled ) from a VBS and solve the tooltip limitation. Not elegant but, if it does the job. object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])1 point -
Use AutoItX as COM ROT object, without regsvr32 registration
MarketingWithKyle reacted to ptrex for a topic
I mentioned before; already in a previous life I already created this example. Which I forgot about 🤥 The CLSID and TLBID you can find in the manifest file in the ZIP file included. Or you can use the TyoeLib Viewer created by the COM guru trancexx The rest you can find on the internet regarding the COM Free stuff. Microsoft.Windows.ActCtx object https://docs.microsoft.com/en-us/windows/win32/sbscs/microsoft-windows-actctx-object1 point -
Use AutoItX as COM ROT object, without regsvr32 registration
MarketingWithKyle reacted to ptrex for a topic
@Professor_Bernd I got something running using the RegFree COM approach. At least is tested on my Win10 using VBScript and PowerShell This is how you can test it : 1. UNREGISTER the COM object first using regsvr32 /u AutoItX3_x64.dll 2. Create a MANIFEST file using this content, and save it using this EXACT name : AutoItX3.sxs.manifest 3. Create a Test.vbs using this content : 4. Copy the 3 files to the C:\Temp folder : - AutoItX3_x64.dll - AutoItX3.sxs.manifest - Test.vbs 5. Run this Test.vbs1 point -
WebDriver UDF - Help & Support (II)
MohamedEmara reacted to SamsonSlice for a topic
Hey all just wanted to share some code if you're struggling to send keys to your web session. Here is how I was able to send an "ENTER" keystroke to my web session: _WD_Action($sSession, 'actions', '{"actions": [{"type": "key", "id": "keyboard", "actions": [{"type": "keyDown", "value": "\uE007"}, {"type": "keyUp", "value": "\uE007"}]}]}') Spent many hours trying to figure the sequence out. Hopefully this can help someone. @giahh - Saw you trying to do this back in 2018 Referenced: https://github.com/jlipps/simple-wd-spec#perform-actions1 point -
Hey folks! I bring this JSON generator I made, which uses a syntax that reminds OOP a little. Here's an example: #include "JSONgen.au3" $oJson = New_Json() ; Let's add some stand-alone elements Json_AddElement($oJson, "test") ; A string Local $aArray[2] = ['hai', 'halo'] Json_AddElement($oJson, $aArray) ; An array ; Let's add some associative elements Json_AddElement($oJson, "hey", 2.55) Json_AddElement($oJson, "delete", "me") ; We will delete this one Json_AddElement($oJson, "hoo", True) Json_AddElement($oJson, "edit", "this") ; And edit this one ; Let's do some editing Json_DeleteElement($oJson, "delete") ; Deleting that one Json_EditElement($oJson, "edit", "that") ; Editing that one ; Let's now add an associated (non-associative) array :) Local $aArray[2] = ['hey', 'bye'] Json_AddElement($oJson, 'array', $aArray) ; Now we get the JSON $sTheJsonCode = Json_GetJson($oJson) MsgBox(0, "Json code", $sTheJsonCode)This will show: Includes help. License: CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) Download: https://www.autoitscript.com/forum/files/file/345-jsongen-json-generator/1 point
-
TYPELIB Viewer
argumentum reacted to trancexx for a topic
So, what's this? It's a tool-script you would use when you want to know details about specific type libraries. There are some tools available on the net for the job. None written in AutoIt (take this conditionally and search for posts made by doudou). That made me wonder how hard it would be to write one from the scratch. Turned to be very demanding. TypeLib format is not officially or publicly available, at least not to my knowledge. Doing the research I found what's called The Unofficial TypeLib Data Format Specification. Sort of a must read when it comes to understanding the organization of typelib format. Script I'm posting here is written solely upon that document. I must also say that I had to do few modifications of some fields because of found inconsistencies in order to get correct readings. Also I'm doing few deliberate shortcuts mostly because of incomplete description within theircorp's document. What's covered is MSFT type of TypeLib. This obviously means there are more types. Actually one more, called SLTG TypeLib, but this one is very rare (probably less than 1/100 of all TypeLibs). GUI will certainly look familiar if you have run some of the scripts I posted recently. This time it's a wrapper for edit control. Main function is called _TLB_TypelibMSFT(). Everything else inside script serves it. What to learn from it? DllStruct manipulation maybe. But who wants that? Script: TLBViewer.au3 Try AutoItX3.dll or wscript.exe or winhttp.dll or shell32.dll or thousand more to see what this really is. Object(s) some more.1 point -
RegFreeCOM Au3X Example
Professor_Bernd reacted to ptrex for a topic
RegFreeCOM Au3X Example Some time ago, someone in the support forum was asking if it is possible to distribute COM DLL's, on different machines, and not registering them. Well infact it is possible, using the MS SxS Manifest approach. For those who don't know what SxS is, it's an other word for ESCAPING DLL HELL : More information on how to build RegFreeCOM Manifest files, look here : Simplify App Deployment with ClickOnce and Registration-Free COM Download this example. RegFreeCOM_Au3X_Example.zip Save it to a machine running at least XP, and don't register any AutoItX3.dll. Run the "RegFreeCOM_Au3X_Example.exe" and see what happenes. Copy it to an other machine an try again. You will see that you are liberated from DLL registration as of now. The SxS technique is using an XML Manifest file to replace the need to use "regsvr32" for registering the COM objects. For those who remember my example on how to create COM objects, without the need of a DLL. This is next complimentary technique,l that allow you to create, run and distribute COM objects, by just distributing some files. This is an other example : Make sure no Au3X.Dll is installed on that machine. Or run : regsvr32 "C:\Program Files\AutoIt3\AutoItX\AutoItX3.dll" /u In order to run this -> Compile the code to RegFreeCOM_Au3X_Example.exe And put it in the same folder as where the Manifest files are located. (Can be a USB stick) $oAutoIt = ObjCreate("AutoItX3.Control.1") $oAutoIt.Run("notepad.exe") ;Wait for the window "Untitled" to exist and be active $oAutoIt.WinWaitActive ("Untitled") $oAutoIt.Send("{Enter}") $oAutoIt.Send("This is an example of : ") $oAutoIt.Send("{Enter}") sleep(500) $oAutoIt.Send("How to get rid of the need of the registry,") $oAutoIt.Send("{Enter}") sleep(1000) $oAutoIt.Send("in order to run COM object like Au3X.dll") $oAutoIt.Send("{Enter}") sleep(1000) $oAutoIt.Send("{Enter}") $oAutoIt.Send("{Enter}") $oAutoIt.send("Enjoy!") See here for more REGFREE examples tested on different platforms : https://www.autoitscript.com/forum/topic/204813-use-autoitx-as-com-rot-object-without-regsvr32-registration/?do=findComment&comment=1472426 https://www.autoitscript.com/forum/topic/204813-use-autoitx-as-com-rot-object-without-regsvr32-registration/?do=findComment&comment=1472602 Enjoy !! ptrex1 point