Jump to content
SorryButImaNewbie

UDF Add fail in SciTe

Recommended Posts

SorryButImaNewbie

Hello,

I try to add a new UDF to my AutoIT library, and it seems I fail. I started to work following the insturctions found on the wiki . 

I made an extra folder just next to my AutoIT folder, called ExtraUDF, and copied the file CUIAutomation2.au3 in it (I try to use this UDF for automating a program) then I run sciteconfig, set this folder up as User Include Folder, applied the changes, then run the calltip manager and got a msg when I tried to parse it. I attach a few pictures for better present the problem.

I think I miss something here, should i put anything else on the ExtraUDF folder? I dont think that the CallTip manager added the udf to scite, If I try to run it i get a msg saying that I Scite cant open the include file and naturally after that, It can't use the functions called from it.

Thank you for your help and insight as always! Please ask, if anything is fuzzy about the problem

 

AutoIT3 folders.PNG

ExtraUDF.PNG

SciteConfig1.PNG

SciteConfig2.PNG

Trial.PNG

Share this post


Link to post
Share on other sites
Subz

Is UIAWrappers.au3 in the D:\AutoIT\ExtraUDF folder?

  • Like 1

Share this post


Link to post
Share on other sites
SorryButImaNewbie

ohhh.....Ohh... ohhh....

No I only added CUIAutomation2 so far

Share this post


Link to post
Share on other sites
Subz

Also the CUIAutomation2 doesn't have any functions, so call tips aren't going to work, you need to use call tips manager on UIAWrappers.au3 to get these functions.

Share this post


Link to post
Share on other sites
SorryButImaNewbie

Thank you, I added the UIAWrappers.au3 already with no problems.

I'm reading junkew post about how to use it. Its a bit hard but not impossible to follow. I try to get somehandels on the controls the program is using with SimpleSpy or Inspectx64 version, but so far not so good.

once _UIA_setVar has set itslef to oP1,2 etc, shouldn't the above code _UIA_Action part do some given action? (I tried with click, but nothing so far)

Thank you for your help!

(code is from SimpleSpy)

#include <UIAWrappers.au3>
#include <EditConstants.au3>
#include <AutoItConstants.au3>
#include <GUIConstantsEx.au3>
#include <CUIAutomation2.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPI.au3>
#include <Misc.au3>

#AutoIt3Wrapper_UseX64

Opt("TrayIconDebug", 1)
Opt("MustDeclareVars", 1)

consolewrite("*** Some important settings you can find in " & @scriptdir & "\UIA.CFG ***" & @CRLF)
consolewrite("*** " & _UIA_getVersionInfoString() )
consolewrite("*** If logging is turned on you can find it here :" & _UIA_getVar("logFileName") & @CRLF)

_UIA_setVar("oP1","Title:=Program;controltype:=UIA_WindowControlTypeId;class:=Window")  ;Program
_UIA_setVar("oP2","Title:=;controltype:=UIA_CustomControlTypeId;class:=MainView")   ;
_UIA_setVar("oP3","Title:=;controltype:=UIA_CustomControlTypeId;class:=TileNavigationView") ;

;~ $oUIElement=_UIA_getObjectByFindAll(".mainwindow", "title:=;ControlType:=UIA_ImageControlTypeId", $treescope_subtree)
_UIA_setVar("oUIElement","Title:=;controltype:=UIA_ImageControlTypeId;class:=Image") ;ControlType:=UIA_ImageControlTypeId;classname:=Image")

;~ Actions split away from logical/technical definition above can come from configfiles

;~_UIA_Action("oP1","highlight")
_UIA_Action("oP1","click") ;setfocus
;~_UIA_Action("oP2","highlight")
_UIA_Action("oP2","click") ;setfocus
;~_UIA_Action("oP3","highlight")
_UIA_Action("oP3","click") ;setfocus

;~_UIA_action($oUIElement","highlight")
;~_UIA_action($oUIElement,"click")
;~_UIA_action("oUIElement","highlight")
;~_UIA_action("oUIElement","click")

 

Edited by SorryButImaNewbie

Share this post


Link to post
Share on other sites
Subz

Try changing click to highlight it should then show you what op1, op2, op3 is attempting to click on.  Whats the software you're trying to automate?

Share this post


Link to post
Share on other sites
SorryButImaNewbie

Its a software my new company is developing, I try to make an automatic tester program, I'm now able to write code that click on the given coordinates where the controls should be (maxsizeing the window before), so I can technicly make it happen, but I would like to write one that finds the controls in the given window, for A) code don't needs to know coordinates of controls beforhand and B ) I would like to better myself in automatization with AutoIT :)

brb trying your proposed code changes with highlights

Edit: it highlights the softwarewindow and an additional control (language change options) and I think the windows startmenu? trying to look at them with SimpleSpy soon

Edit2: Ohh it should highlight an icon on a button btw :) at least the code I copied from simplespy was highlighted an icon

Edited by SorryButImaNewbie

Share this post


Link to post
Share on other sites
SorryButImaNewbie

I would like to get the controls handels or IDs or something, but so far the controlClick seems not to work, or maybe the coordinates of them, so I can move the mouse there to click on them. Not with predefined coordinates, but the script would find it on its own,

Share this post


Link to post
Share on other sites
Subz

Have you tried Autoit Info Tool?

Share this post


Link to post
Share on other sites
SorryButImaNewbie

Yes, it was my first try, It only saw the main window, nothing else, no control, text, or pictures

Edit:

Then I tried SimpleSpy and Inspector, they seems to find all the relevant controls but I can't act upon their information yet (I don't know the handle or ID or something that I can use, maybe text alone, but that could be problematic). Thats my goal right now, make a click command on a control without mouseclick by found coordinates or handle or title or something. 

It seems a few button can't be found by Inspector/SimpleSpy (fleshy design I guess), but lucky for me these buttons have text or text and pic on them, which can be found, so I think i will be able to click on them in the future.

Edited by SorryButImaNewbie

Share this post


Link to post
Share on other sites
LarsJ
SorryButImaNewbie

Thank you Master LarsJ, I have that very thread open in my browser and to be honest its the source of like 75-85% of my work :)

Inspect (and SimpleSpy) was able to detect every control I will need for the automatization. The only bump is that two pretty important control can't be detected, but the text on them can, so I plan to click on the text, which should translate to a click on the button, right? (since the textbox is on the button or the pic is on the button)

Unfourtunetly, Inspect treeview isnt giving back as a straight forward "clean" view as with the Intel Example and I'm not that experienced (let say this is my second day of using it) with them.

Edit: I post a few pic with the Inspect results momentarly

Edit2: Attaching the returned values of Inspect x64 on an icon of the target software (sorry for the redout, but I have to follow regulations, I think its still usefull)

This is what I get back

InspectResultsOnIcon.PNG

Edited by SorryButImaNewbie

Share this post


Link to post
Share on other sites
LarsJ

If nothing else works then you may want to click with the usual MouseClick command. Calculate the bounding rectangle of the text control and make a MouseClick in the center of the rectangle. See here how to do it. Especially posts 17 - 22.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • cheeroke
      By cheeroke
      Hi I am not sure how to call it properly, but for those of you who use SciTE, when you typing built in function and about to pass parameters to it you can see popup with all the ones which can be passed.
      Question: how to create something like that for my own functions?
       
      Thanks
    • FrancescoDiMuro
      By FrancescoDiMuro
      Good morning everyone

      I was playing a little bit with "Screen Capture" UDF, and I was trying to make a "Window" capture, but, since I made a GUI which through I fire the event "Capture", my GUI is captured as well, and I don't want to
      This is the line of code that makes the capture:
       
      _ScreenCapture_CaptureWnd($strScreenCaptureFileName, $objActiveWindow, 0, 0, -1, -1, False) And these are the lines of code which select the "active" window:
       
      Local $objCurrentWindow = 9999 If _IsPressed("01") Then $objCurrentWindow = WinGetHandle("[ACTIVE]") If $objCurrentWindow <> $objMyGUI Then $objActiveWindow = $objCurrentWindow EndIf EndIf Sorry If I made stupid mistakes
      Thanks in advance.

      Francesco
    • therks
      By therks
      Does SciTE have string or number ids for the recent file menu items?
      I was hoping to add shortcuts (using the user.shortcuts properties) to the most recent item, but the documentation doesn't list any id's for those items (unless I overlooked?).
      Also, did anyone else notice that the index listing for the SciTE doc doesn't work properly?
      It appears it's linking to this: mk:@MSITStore:C:\Program%20Files\AutoIt3\SciTE\Scite4AutoIt3.chm::/SciTEDocumentation.html
      When it should be this? mk:@MSITStore:C:\Program%20Files\AutoIt3\SciTE\Scite4AutoIt3.chm::/Scitedoc/SciTEDoc.html
    • kcvinu
      By kcvinu
      Hi all,
      I am playing with _GUICtrlButton_Create function. How can i change this button's (or the entire form's) font ?. The in-built GUICtrlSetFont function is not working even when i convert the control handle to control ID with _WinAPI_GetDlgCtrlID ( ) function.  Do i need to use CreateFont api finction and send WM_SETFONT message ? Or is there any other easy and safe ways to do this ?. Thanks in advance.
      Note : This window is created by CreateWindowEx function, not by GUICreate function. 
    • BrewManNH
      By BrewManNH
      I was looking for a toolbar modification for SciTE and I was checking various versions of SciTE that were available on the internet. They all had some problems for how I wanted to use the editor, so I looked here to see if there were any toolbar modifications for Scite. I found one very old script by YogiBear (Volly) from 2006 that looked promising, though there were issues with it. I decided to see what I could do to modify this script, and make some improvements to it if possible. This script is the result of that work.

      It's not perfect and definitely could use some tweaking, but I thought that it had matured enough, and was mostly stable enough to release the updated version.

      Changelog:
      Version 2.0.1
      Minor update to remove all the old Obfuscator directives and replaced them with #Au3Stripper directives instead. I also corrected a minor bug that only showed up for me on one computer I tried this on, and caused the tool bar to crash for others as well.
      SciTE toolbar version 2.0
      Changed the settings values to use constants instead of 'magic numbers' The icons on the toolbar weren't lining up with the separator characters or with the toolbar GUI because they weren't set with the resize setting for the icons, only for the separators. Changed to using arrays for everything, it makes it a lot easier to loop through the controls Added a line to use an alternate path to the SciTE program, so you can start it using, for example, the portable version instead of installed version for those that don't install AutoIt and/or SciTE4AutoIt3. It will accept a commmand line parameter that points to the SciTE executable. Removed a lot of Global variables by moving the GUI creation and monitoring to the Main function and passing variables from it. I embedded the icon files into the script so that there isn't a separate download of the icon files used here. Saves download time and makes the package smaller. Modification of tools is easier because the icon names, tooltip text, and SciTE command codes are saved in the INI file upon first start up. These can be modified after the script has been run once, even after it's been compiled, by changing the ini file information, you can modify this script to automate it, or you can change it manually in any text editor. The icon files are now using, in just my opinion, better looking icons, after all it's been 7 years and icon files have matured. I have included a file with all of the constants that SciTE uses for its menu commands which comes from the SciTE source file "scite.h", so you can use this file to help you modify the commands that the toolbar works with, by figuring out what each of these values represent in SciTE. The core of the script is pretty much the same, I've just fixed a couple of issues that it had, tweaked a few things, added some new functionality and "prettied" it up a bit.

      If anyone has any suggestions as to improvements, bugs/bugfixes, etc. please let me know.

       
      scitetoolbar.zip
×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.