Leaderboard
Popular Content
Showing content with the highest reputation on 08/18/2016 in all areas
-
After AutoIt 3.3.12.0 the handling of COM errors has been "fixed". Now nested COM operations crash the script in case of an error even when there is a COM error handler. Edit: All 3 problems have been fixed in AutoIt 3.3.14.3. Here you find a fixed version of function _Excel_RangeFind. I simply removed all nestings and added the missing COM error hander: Another function that needed some modification is _Excel_BookOpen. It crashed when a workbook was opened using _Excel_BookOpen with parameter $bVisible = True, saved and then reopened. The following modification solves the problem: 2017/06/19: Another function that needed some modification is _Word_DocSaveAs. It doesn't work with Word 2013 or later as MS felt the urge to change the name of the save method from SaveAs to SaveAs2. The following modification solves the problem: Please tell me if you still have problems with this or any other function from the Excel or Word UDF!1 point
-
GuiBuilderNxt - Reboot [08/18/2016]
jcmackie reacted to jaberwacky for a topic
This is an update to GuiBuilder (CyberSlug, Roy, TheSaint, and many others) to run on the latest AutoIt Beta release. For a chronological history of GuiBuilder and other GUI designers see: >AutoIt GUI Creators (Designers). The seed of this effort is >here. Note: This is early stage software. Please help by reporting issues. ----------------------------------------------------- Now for the latest exciting installment! Tabs are now available! One tab can be added to the GUI. Move it, resize it, and right click to add a new tab item! More context menu items on the way. Also upcoming is the ability to be able to add controls to each tab item. --------------------------------------------------------- GUIBuilderNxt - Reboot.zip - Exe included. dl: 4286 Changelog: New Features and fixes: 1) Show or hide control while moving or resizing control. *Currently bugged out* 2) Option to show controls which have had their state set to hidden. 3) Properties window for each control as they are selected. This makes fine tuning a control easier. 4) A button which will resize a control's width to fit the text. Uses Melba23's _StringSize library. 5) Remembers settings from the last session. 6) GuiOnEvent mode. CyberSlug made mention of wanting to do this in the early days of GuiBuilder. 7) Maps rather than multidimensional arrays. 8) Consistent control naming, (i.e., instead of Group1, Button2, Button3, Radio4 it would now be Group1, Button1, Button2, Radio1). 9) Restructured the menubar layout per GuiBuilder Resurrected. 10) Hotkeys switched to accelerators. 11) Option to wipe the gui clear to the Edit menu. 12) Select and move multiple controls at once by holding down Ctrl or using a selection rectangle. 13) Copy, Paste and Delete multiple controls at once. 14) Solid grid background that now resizes to fit the GUI. Roadmap: 1) Get the Tab control to work correctly. *Still in progress* 2) Finish adding properties settings to the control properties window. 3) Make the code generation produce code with a better layout. 4) Common GUI templates. Ability to make your own templates too. 5) Select multiple controls and use arrow keys (or other method?) to snap the selected controls to align to the chosen edge. 6) Visual hints to tell you when you're within so many pixels from the edge of the window or control. Mimics the gui designer of Visual Basic. 7) Double click a control to edit the text. 8) Visual hints to indicate selected controls, etc. 9) Ability to create and store custom controls. Known issues: 1)Many!1 point -
_SelfDelete() - Delete the running executable.
TouchOdeath reacted to guinness for a topic
Glad someone is paying attention!1 point -
Active Directory Example Scripts
argumentum reacted to water for a topic
Version 1.4.6.0 of the UDF has been released. Bugfix in function _AD_GetObjectProperties. Please test before using in production! For download please see my signature.1 point -
_SelfDelete() - Delete the running executable.
argumentum reacted to TouchOdeath for a topic
Boththose and argumentum, I'm glad both of you are trying to solve the issues I have identified in this post: However both of you are missing sir guiness's geniousry and a must have about his function: Doing all that without leave a trace would be something else.1 point -
Great May I suggest Do $source = $oIE.document.body.innerhtml Until StringInStr($source, "ctl00$ContentPlaceHolder1$cbxCondizioniUtilizzoSito") Local $oCUtilizzo = _IEGetObjByName($oIE, "ctl00$ContentPlaceHolder1$cbxCondizioniUtilizzoSito") ; etc1 point
-
multi threading
argumentum reacted to RTFC for a topic
@ultimateheadcenter: MailSlot payload on localhost is restricted to slightly less than 64KB (I'm using 65,507 as upper bound in my Pool UDF); across a LAN, the maximum MailSlot size is a datagram (424 bytes; same as for UDP); for TCP it's 1,472 bytes per packet. So sending a 100MB MailSlot msg is out of the question. Also, if you're going to be using MailSlots, please be aware that some antivirus software (e.g., Sophos) can block MailSlot messages.1 point -
@Chimp are you cooking, or warming up ? Do ; stay here untill the $oCUtilizzo object is ready (untill is an obj) Sleep(10) Until IsObj($oCUtilizzo)1 point
-
I don't think that it's an ie.au3 bug. perhaps you are calling an ie.au3 function passing an obj as argument while the obj is still not an ready made obj. inserting pause is not a bullet proof way, because you do not know how long the pause should wait. you can only try to guess. (also, it seems that you inserted the pause after the function call.... you should rather insert the pause before the call to the ie.au3 function) anyway, instead of using a pause, you could try to use a loop to wait till an obj is ready using a way like this for example: Local $oCUtilizzo = _IEGetObjByName($oIE, "ctl00$ContentPlaceHolder1$cbxCondizioniUtilizzoSito") Do ; stay here untill the $oCUtilizzo object is ready (untill is an obj) Until IsObj($oCUtilizzo) ; now you can call in a safe way the ie.au3 functions that requires an obj as argument _IEAction($oCUtilizzo, "focus") _IEAction($oCUtilizzo, "Click")1 point
-
He reported me? ... First, sorry if I have said anything wrong @JiBe , it is not my intention to hurt anyone! (The same is mentioned in my signature) I would welcome any counter-argument , but please do it here, not in the report box! .1 point
-
Example 6 Demonstrates all stuff within chrome to navigate html pages, find hyperlink, click hyperlink, find picture, click picture, enter data in inputbox Uodate UIAWrappers.AU3 Made a lot more comments and failure to show when an object is not retrieved/found the hierarchy of the tree is written to the console Lots of optimizations could be done by using the cachefunctions (less interprocess communication) but on my machine it runs at a very acceptable speed In top of script put the text in your local language of the operating system #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <constants.au3> #include <WinAPI.au3> #include <debug.au3> #include "CUIAutomation2.au3" #include "UIAWrappers.au3" #AutoIt3Wrapper_UseX64=Y ;Should be used for stuff like tagpoint having right struct etc. when running on a 64 bits os ;~ Make this language specific const $cToolbarByName = "name:=Google Chrome Toolbar" const $cAddressBarByName = "name:=Adres- en zoekbalk" const $cChromeNewTabByName="name:=Nieuw tabblad" $strChromeExeFolder=@UserProfileDir & "\AppData\Local\Google\Chrome\Application\" $strChromeStartup="--force-renderer-accessibility" $strChromeExe=$strChromeExeFolder & "chrome.exe " ;~ Start chrome if fileexists($strChromeExe) Then if not processexists("chrome.exe") Then run($strChromeExe & $strChromeStartup,"", @SW_MAXIMIZE ) ProcessWait("chrome.exe") ;~ Just to give some time to start sleep(10000) endif Else consolewrite("No clue where to find chrome on your system, please start manually:" & @CRLF ) consolewrite($strChromeExe & $strChromeStartup & @CRLF) EndIf ;~ Find the chrome window $oChrome=_UIA_getFirstObjectOfElement($oDesktop,"class:=Chrome_WidgetWin_1", $treescope_children) if not isobj($oChrome) Then _UIA_DumpThemAll($oDesktop,$treescope_children) EndIf ;~ Make sure chrome is front window $oChrome.setfocus() if isobj($oChrome) Then consolewrite("Action 1" & @CRLF) ;~ get the chrome toolbar ;~ $oChromeToolbar=_UIA_getFirstObjectOfElement($oChrome,"controltype:=" & $UIA_ToolBarControlTypeId, $treescope_subtree) $oChromeToolbar=_UIA_getFirstObjectOfElement($oChrome,$cToolbarByName, $treescope_subtree) if not isobj($oChromeToolbar) Then _UIA_DumpThemAll($oChrome,$treescope_subtree) EndIf consolewrite("Action 2" & @CRLF) ;~ get the addressbar ;~ $oChromeAddressBar=_UIA_getFirstObjectOfElement($oChromeToolbar,"class:=Chrome_OmniboxView", $treescope_children) ;worked in chrome 28 ;~ $oChromeAddressBar=_UIA_getFirstObjectOfElement($oChromeToolbar,"controltype:=" & $UIA_EditControlTypeId , $treescope_subtree) ;works in chrome 29 ;~ $oChromeAddressBar=_UIA_getFirstObjectOfElement($oChromeToolbar,"name:=Adres- en zoekbalk" , $treescope_children) ;works in chrome 29 $oChromeAddressBar=_UIA_getObjectByFindAll($oChromeToolbar, $cAddressBarByName , $treescope_subtree) ;works in chrome 29 if not isobj($oChromeAddressbar) Then _UIA_DumpThemAll($oChromeToolbar,$treescope_subtree) EndIf ;~ $oValueP=_UIA_getpattern($oChromeAddressBar,$UIA_ValuePatternId) ;~ sleep(2000) ;~ get the value of the addressbar ;~ $myText="" ;~ $oValueP.CurrentValue($myText) ;~ consolewrite("address: " & $myText & @CRLF) consolewrite("Action 3" & @CRLF) ;~ Get reference to the tabs $oChromeTabs=_UIA_getFirstObjectOfElement($oChrome,"controltype:=" & $UIA_TabControlTypeId, $treescope_subtree) if not isobj($oChromeTabs) Then _UIA_DumpThemAll($oChrome,$treescope_subtree) EndIf ;~ Lets open a new tab within chrome consolewrite("Action 4" & @CRLF) ;~ $oChromeNewTab= _UIA_getFirstObjectOfElement($oChromeTabs,"controltype:=" & $UIA_ButtonControlTypeId, $treescope_subtree) $oChromeNewTab= _UIA_getObjectByFindAll($oChromeTabs, $cChromeNewTabByName,$treescope_subtree) if not isobj($oChromeNewTab) Then _UIA_DumpThemAll($oChromeTabs,$treescope_subtree) EndIf _UIA_action($oChromeNewtab,"leftclick") sleep(500) consolewrite("Action 4a" & @CRLF) $oChromeAddressBar=_UIA_getObjectByFindAll($oChromeToolbar, $cAddressBarByName , $treescope_subtree) ;works in chrome 29 if not isobj($oChromeAddressbar) Then _UIA_DumpThemAll($oChromeToolbar,$treescope_subtree) EndIf $t=stringsplit(_UIA_getPropertyValue($oChromeAddressBar, $UIA_BoundingRectanglePropertyId),";") _DrawRect($t[1],$t[3]+$t[1],$t[2],$t[4]+$t[2]) _UIA_action($oChromeAddressBar,"leftclick") consolewrite("Action 4b" & @CRLF) ;~ give some time to open website sleep(2000) $oDocument=_UIA_getFirstObjectOfElement($oChrome,"controltype:=" & $UIA_DocumentControlTypeId , $treescope_subtree) if not isobj($oDocument) Then _UIA_DumpThemAll($oChrome,$treescope_subtree) Else $t=stringsplit(_UIA_getPropertyValue($oDocument, $UIA_BoundingRectanglePropertyId),";") _DrawRect($t[1],$t[3]+$t[1],$t[2],$t[4]+$t[2]) EndIf sleep(500) consolewrite("Action 4c retrieve document after clicking a hyperlink" & @CRLF) $oForumLink=_UIA_getObjectByFindAll($oDocument,"name:=On", $treescope_subtree) if not isobj($oForumLink) Then consolewrite("*** Scripting will fail as accessibility is off ****") MsgBox(4096, "Accessibility warning", "Accessibility is turned off, put it on by clicking on Off after Global accessibility mode", 10) _UIA_DumpThemAll($oDocument,$treescope_subtree) EndIf consolewrite("Action 4d" & @CRLF) ;~ $oChromeNewTab= _UIA_getFirstObjectOfElement($oChromeTabs,"controltype:=" & $UIA_ButtonControlTypeId, $treescope_subtree) $oChromeNewTab= _UIA_getObjectByFindAll($oChromeTabs, $cChromeNewTabByName,$treescope_subtree) if not isobj($oChromeNewTab) Then _UIA_DumpThemAll($oChromeTabs,$treescope_subtree) EndIf _UIA_action($oChromeNewtab,"leftclick") sleep(500) consolewrite("Action 5" & @CRLF) $oChromeAddressBar=_UIA_getObjectByFindAll($oChromeToolbar, $cAddressBarByName , $treescope_subtree) ;works in chrome 29 if not isobj($oChromeAddressbar) Then _UIA_DumpThemAll($oChromeToolbar,$treescope_subtree) EndIf $t=stringsplit(_UIA_getPropertyValue($oChromeAddressBar, $UIA_BoundingRectanglePropertyId),";") _DrawRect($t[1],$t[3]+$t[1],$t[2],$t[4]+$t[2]) _UIA_action($oChromeAddressBar,"leftclick") _UIA_action($oChromeAddressBar,"setvalue using keys","www.autoitscript.com/{ENTER}") consolewrite("Action 6" & @CRLF) ;~ give some time to open website sleep(2000) $oDocument=_UIA_getFirstObjectOfElement($oChrome,"controltype:=" & $UIA_DocumentControlTypeId , $treescope_subtree) if not isobj($oDocument) Then _UIA_DumpThemAll($oChrome,$treescope_subtree) Else $t=stringsplit(_UIA_getPropertyValue($oDocument, $UIA_BoundingRectanglePropertyId),";") _DrawRect($t[1],$t[3]+$t[1],$t[2],$t[4]+$t[2]) EndIf sleep(500) consolewrite("Action 7 retrieve document after clicking a hyperlink" & @CRLF) $oForumLink=_UIA_getObjectByFindAll($oDocument,"name:=Forum", $treescope_subtree) if not isobj($oForumLink) Then _UIA_DumpThemAll($oDocument,$treescope_subtree) EndIf _UIA_action($oForumLink,"invoke") sleep(3000) consolewrite("Action 8 first refresh the document control" & @CRLF) $oDocument=_UIA_getFirstObjectOfElement($oChrome,"controltype:=" & $UIA_DocumentControlTypeId , $treescope_subtree) if not isobj($oDocument) Then _UIA_DumpThemAll($oChrome,$treescope_subtree) Else $t=stringsplit(_UIA_getPropertyValue($oDocument, $UIA_BoundingRectanglePropertyId),";") _DrawRect($t[1],$t[3]+$t[1],$t[2],$t[4]+$t[2]) EndIf ;~ Now we get the searchfield $oEdtSearchForum=_UIA_getObjectByFindAll($oDocument,"name:=Search...", $treescope_subtree) if not isobj($oEdtSearchForum) Then _UIA_DumpThemAll($oDocument,$treescope_subtree) EndIf _UIA_action($oEdtSearchForum,"focus") _UIA_action($oEdtSearchForum,"setvalue using keys","Chrome can easy be automated with ui automation") ; {ENTER}") sleep(500) ;~ Exit ;~ Now we press the button, see relative syntax used as the button seems not to have a name its just 2 objects further then search field $oBtnSearch=_UIA_getObjectByFindAll($oDocument,"name:=Search...; indexrelative:=2", $treescope_subtree) if not isobj($oBtnSearch) Then _UIA_DumpThemAll($oDocument,$treescope_subtree) EndIf $t=stringsplit(_UIA_getPropertyValue($oDocument, $UIA_BoundingRectanglePropertyId),";") _DrawRect($t[1],$t[3]+$t[1],$t[2],$t[4]+$t[2]) sleep(1000) _UIA_action($oBtnSearch,"invoke") sleep(2000) ;~ consolewrite("Action 9 first refresh the document control" & @CRLF) $oDocument=_UIA_getFirstObjectOfElement($oChrome,"controltype:=" & $UIA_DocumentControlTypeId , $treescope_subtree) if not isobj($oDocument) Then _UIA_DumpThemAll($oDocument,$treescope_subtree) EndIf $oHyperlink=_UIA_getObjectByFindAll($oDocument,"name:=controlsend doesn't work", $treescope_subtree) if not isobj($oBtnSearch) Then _UIA_DumpThemAll($oDocument,$treescope_subtree) EndIf sleep(1000) _UIA_action($oHyperlink,"invoke") sleep(2000) EndIf exit edit 1 sept 2013: added steps 4a,b,c,d to warn for accessibility is off1 point
-
I know this is a bit old but I stumbled on it and thought I would answer. echo Hi > "\\?\C:\File with Dots..." mkdir "\\?\C:\Folder with Dots..."1 point