Hi Rick,
I think the DTE object you mention is part of the VS DOM, which is only
available to commercial versions of Visual Studio. UIA, however, is
independent of the DOM, so works on the Express versions as well. I
think the DOM and UIA are independent of each other. UIA (and MSAA)
does include the ability to click, or perform the default action, on an
automation object, such as a button.
I'm not understanding the need to shut down processes other than your
VB.NET app. Doesn't the .NET Application.Exit() method work to shut
down the app?
If a user launches VS, wouldn't the user be the one to close that
application? Why would a Window-Eyes app be launching VS? I thought
the app just gets loaded once Window-Eyes notices that VS (msenv.exe)
has been launched.
Jamal
On 5/5/2012 8:06 AM, RicksPlace wrote:
Actually the Kill process I was thinking of was for an External
Script, not the IDE itself but it may pose the same problems if any
processes are started due to any context or content required by the OS
or compiler unknown to me.
Jamal has a couple of VBS scripts that work with App Manager which may
offer a conceptual solution to stop my script programatically if I can
understand the technicals.
The Reload Script would seem to interact with ScriptManager so it
may provide the underlying technicals to click the Stop Button
programatically or using a global WE Hot Key.
If you know of another script that pushes a button in the
ScriptManager let me know for additional research.
Jamal, if you are out there, is this feasible?
Rick USA
----- Original Message -----
*From:* RicksPlace <mailto:[email protected]>
*To:* [email protected] <mailto:[email protected]>
*Sent:* Saturday, May 05, 2012 6:43 AM
*Subject:* Visual Studio Express Accessibility
Hi:
I was looking into shutting down a Process from within VB.net Express.
To ensure all Child-processes are shut down it appears folks
usually use something called the EnvDTE object.
This object also gives access to the running Process so you can do
things like click a button or change text in a TextBox from
another Process like a WindowEyes Script.
According to a member of the Microsoft Staff, a posting in a Blog,
the Express Versions do not expose the EnvDTE Object to third
party applications like a WindowEyes script.
This was a quote Business decission on the part of Microsoft.
This hampers using UIA, MSAA or any other method I know of to make
the Express versions of Visual Studio much more accessible than
they are already.
It also has thrown a monkey wrench into my plan to Kill the
running Process since Visual Studio, and I assume the Express
versions, spawn other processes that may be left hanging and
running if the Main Process is Killed without due process to the
child processes if I read it correctly.
I can still make some things much more readable with UIA, MSAA and
the WE Object Model but not do much, if anything, that requires
information from the Underlying Visual Studio controls or any
interaction with them via a script.
At least that is my understanding of the problem so far.
Since Application.Exit doesnt work, it handles clean up and shut
down messages while kill doesn't,perhaps the shut down of a dummy
form will work as Aaron used in his original example.
I either have to find a way to work around a focus problem using a
dummy window if I can, figure out why Application.Exit doesn't
work or find another method of shutting the script down ensuring
no objects or processes are left hanging.
I hope Microsoft knows this decission sucks for blind users of
their free Express Versions of Visual Studio that work extremely
well for sighted users.
Later and I will be able to do a few things even without this
missing feature in the Visual Studio Express versions.
Rick USA