Jump to content

developer - (Moved)


Recommended Posts

Hello, 

After install Autoit V3, want see how to automatize actions on programm Atmel Studio 7 (Version: 7.0.1417) but the Window Info programm not show the controls ID and other informations, it recognize only the Window Title: and Class:  

On other programms it works, make i anything wrong?

Thanks for any help

Regards

Fernandosato52

 

 

Try_Atmel Studio.jpg

Link to comment
Share on other sites

Hello,

I try this #include "Includes\UIASpy_Gui.au3" and it shows a lot of window information, but i think coordinates also the clickable points are all relativ to the Main Window of the programm that will inspected, if you show a window child of the main window and move it to other location of the screen, all the coordinates  changed

Anyone know a Tool that works, so i can use the coordenate to make automation with Autoit

Like i said, the Autoit Window Info Tool that comes with Autoit not work with the programm Atmel Studio

Regards

 

Link to comment
Share on other sites

Don't worry about changing coordinates, that is the least of your problem.  It is very easy to click some point where ever it is located on the screen.  The challenge is to identify the controls correctly, once it is done, you will have no problem clicking on it.  So start using UIAutomation (either from Larsj or Junkew), come up with a basic script and we be able to help you out from there.

Link to comment
Share on other sites

Hello,                                                                                                                                                                                                                                     I've done it but it doesn't work. I ended up solving it with send keys like Alt + T or Ctrl + Shift + T which solved this first part. Then it goes to another Dialog that unfortunately does not have the Keys, the "UIASpy.au3" does not show any Button ID that I can use for the next step, so I think the only way is to move the mouse over the desired button and give the click command, it's not the most elegant way to do because it will not work in other image resolutions, another problem is that when I send the click command, it seems to repeat several times, even having 1 as the number of times, if someone has some idea or utility that can work, I'm grateful

Thanks in advance

Regards

 

Link to comment
Share on other sites

1. before resorting into external automation, i would check if this software has some built-in scripting features, like an API, command-line executable, batch operation, COM interface, automation plug-in, etc. or perhaps just putting some files in place does the trick? someone in this forum once tried to automate Notepad to write some text and save to a file, without knowing this is trivial with FileWrite() function. seriously!

2. i would suggest you put some effort into implementing UIAutomation. it works most of the time, and there are experienced members of this forum that can help, if you make the first effort of showing at least some modest beginning of a script you made.

3. if you find yourself forced into keypress and mouse clicks, there are ways to make it a bit more robust. for starters, whenever the target window comes into focus, move it to a specific screen coordinates - (0,0) is a good choice - and resize it to a known workable size, in which you know exactly where the clickable element is. block user input when you are about to begin automation, unblock when you're done. find a way to check if your automation succeeded or not - a change in a window title, appearance of a new message box, etc.

Signature - my forum contributions:

Spoiler

UDF:

LFN - support for long file names (over 260 characters)

InputImpose - impose valid characters in an input control

TimeConvert - convert UTC to/from local time and/or reformat the string representation

AMF - accept multiple files from Windows Explorer context menu

DateDuration -  literal description of the difference between given dates

Apps:

Touch - set the "modified" timestamp of a file to current time

Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes

SPDiff - Single-Pane Text Diff

 

Link to comment
Share on other sites

Hello orbs,

I make a few progress with Mousemove, Mouseclick and keys like Alt + T and Ctrl + Shift + P and it works, but unfortunatly on the next Dialog have Textbox "Edit" and want write Text on that, but with the "UIASpy.au3" can´t find the ID of the Edit's   

#include <MsgBoxConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <AutoItConstants.au3>

WinWait("Start Page - AtmelStudio")
WinActivate("Start Page - AtmelStudio")
Sleep (500)
send("^T" , "") ; Alt + T
SLEEP (1000)

; Tools
send("+^P" , "") ;Ctrl+Alt+P
Sleep (500)

WinWait("Device Programming")
WinActivate("Device Programming")
MouseMove(650, 143)  ;put mouse on the Apply Button location
MouseClick("primary", 650,143, 1, 1)
MouseUp($MOUSE_CLICK_LEFT) 

; "Fuses"
MouseMove(404, 334)
MouseClick("primary", 404,334, 1, 1) 

WinWait("AVRISP mkll (0000000000000) - Device Programming")
WinActivate("AVRISP mkll (0000000000000) - Device Programming")

Until here, works, but dosen't the below code

;High
$text = "0xDF"
MouseMove(624, 486, 100)  'location of the Editbox
sleep (1000)
ControlSetText ( "HIGH", "0xDD", 7804, "0xDF" ,0)                    'not work then i don't know the Edit ID, perhaps with other command, i'm new in Autoit 


;ClipPut($text)
;send("^v")

Regards

 

 

Edited by Melba23
Added code tags
Link to comment
Share on other sites

  • Moderators

Fernandosato52,

When you post code in future please use Code tags - see here how to do it.  Then you get a scrolling box and syntax colouring as you can see above now I have added the tags. Thanks in advance for your cooperation.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

I believe OP does not understand how UIAutomation is managing controls.  He is still thinking in terms of click and send.  Too bad. 

My take OP, you will ask forever (and ever) help in here and hardly get the end result (and robust) solution until you invest in a strong solution.  Too bad...

Link to comment
Share on other sites

49 minutes ago, Nine said:

I believe OP does not understand how UIAutomation is managing controls.  He is still thinking in terms of click and send.  Too bad. 

My take OP, you will ask forever (and ever) help in here and hardly get the end result (and robust) solution until you invest in a strong solution.  Too bad...

I also needed to use mouse clicks to operate an application (Comodo firewall) that failed to use Microsoft GUI standards, such as those provided by AutoIt GUIs. I also was strongly advised to use the UIAutomation UDF. I was told it was so simple to use it was almost trivial.

However, although my career as a Systems software developer spanned four decades and demonstrates that I'm not particularly brain-dead vapid, the UIAutomation stuff is easily the most baffling and incomprehensible stuff I've ever tried to use. The main problem I kept running into was the enormous amount of apparently redundant information provided by these tools. I could discover no reliable basis upon which to choose among the mountains of identical or near-identical info.

So I ended up using the dreaded mouse click methods, which -- in my opinion -- was much easier to comprehend and code. I wrote a set of functions which made this easier, such as detecting when a necessary window with no titles or  unique classes or any other unambiguous identifiers appeared.

Speaking only for myself, I think it would take an extremely extensive set of tutorials to allow me to use the UIAutomation system. But perhaps I really am all that stupid and incompetent...

Edited by Mbee
typo
Link to comment
Share on other sites

2 hours ago, Mbee said:

I was told it was so simple to use it was almost trivial.

Not true.  There is a learning curve. But UDFs have cleared the way.

2 hours ago, Mbee said:

extremely extensive set of tutorials

Look and learn from the multiple examples provided with each UDF.  And MSDN has an enormous documentation about it, that facilitates the comprehension of the COM interfaces of UIAutomation. 

A progressive approach is highly suggested using these tools.  Start with an example, and grow your understanding by attempting new features.  When you feel you have a grasp on the way it is working then start using UIAutomation with new applications.

Learning totally new things is never easy, but it is always your call, either you embrace it or you refuse it.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...