Monthly Archives: February, 2014

0.8.7 Beta 2

Briefly, this beta release brings two features and several bug fixes:

1) support for the SendInput call (thanks to the Windows Input Simulator project): Keyboard and Mouse properties (‘property hubs’ – properties with properties and methods).

The Keyboard property works, of course, with keys (for example, you could press Shift, send characters and release Shift). The Mouse property provides us with various clicks (this does not use handles, so that a window of your interest should be foreground).

Clicks that work via handles have been moved to the Control property:

$element.Click() -> $element.Control.Click()

$element.InvokeContextMenu() -> $element.Control.InvokeContextMenu()

I feel sorry to early adopters who could start using this, but a lot of properties directly on an automation element was a nightmare.

2) new logging. After moving to AOP, more and more possibilities are open. The new logger writes how cmdlets were called, with their parameters. String, int, bool (switch parameter) are represented as is. Automation elements are shown as hashtables. I hope that this logging will be much more useful in troubleshooting, for example, by analyzing what automation elements were passed to a cmdlet.

Now, new logging supports the most of cmdlets and properties and methods of the new object model. By default, it’s UIA.log in the Documents folder.

3) the Invoke-UiaWizard cmdlet became faster and much more reliable

4) theĀ Invoke-UiaControlContextMenu cmdlet and the $element.Control.InvokeContextMenu() method have been working in not all situations, fixed

5) some more fixes I’m unable to remember what has been fixed in (getting controls in some situations that I found during writing of unit tests).

%d bloggers like this: