With this release, I think I've got everything working that
should be working in the first iteration of this project. The big changes are:
Added a -Recurse parameter to Select-Control
This allows you to shorten this:
$notepadConfirmation = Select-Window notepad | Remove-Window -Passthru
Select-ChildWindow -Window $notepadConfirmation | Select-Control | Select-Control | Select-Control -title "Do&n't Save" | Send-Click
To this:
$notepadConfirmation = Select-Window notepad | Remove-Window -Passthru
Select-ChildWindow -Window $notepadConfirmation | Select-Control -title "Do&n't Save" -recurse | Send-Click
More importantly, of course -- you don't have to "just know" (or determine by experiment) how many levels of Select-Control you have to dig down to find the button ... in most cases you can get things by window class or by "title" text.
Added support to Send-Click for clicking on Non-Client areas
Basically, this means I did a lot of work so that double-clicking on the caption of a window will work now. So for instance, this line will re-dock all your visual studio popup panels:
Select-Window devenv | Select-ChildWindow | Send-Click 10 10 -Double
Caveats
Don't forget, this still doesn't really support frameworks (like WPF) which don't use standard Win32 handles for their controls -- you can send clicks and keystrokes to them, but you'll be flying blind based on the topmost window handle.
If you find anything that still doesn't work, please let me know ...