Hallo zusammen! Auf dieses Problem bin ich nun schon sehr oft gestolpert, und bisher habe ich immer nur umständlich drum herum programmiert. Jetzt dachte ich mir, frage ich mal nach, ob es da eine Lösung gibt: ist es möglich, sich den Namen des aktuell selektierten Elementes zurückgeben zu lassen? Beispielsweise habe ich eine Listbox, aus der gerade ein bestimmtes Element selektiert wurde. Und wenn nun der Name dieses selektierten Elements einer bestimmten Bedingungen genügt, soll irgendwas passieren. Wie kann ich mir diesen Namen zurückgeben lassen? Ist das überhaupt möglich? Hier ein einfaches Beispiel: in Befehlscenter möchte ich, dass durch das aussprechen des Befehls "Globale Befehle" die Listbox "Befehlskontext" aus geklappt wird, die globalen Befehle ausgewählt werden und dann enter gedrückt wird. Dazu könnte man eine Schleife programmieren, die so oft {Down}drückt, bis das ausgewählte Element den Namen"Globale Befehle trägt. Natürlich kann man hier mit "HearWord" drum herum programmieren, aber die "HearWord"- Befehle sind halt echt langsam... habt ihr eine Idee? Vielen Dank schon mal!!
Zitat von Stecknadelist es möglich, sich den Namen des aktuell selektierten Elementes zurückgeben zu lassen?
Hallo Susanne,
da bin ich mir nicht sicher, mit Strg+c geht es jedenfalls nicht. Die Technologie, die hinter "Show Numbers" steckt, dürfte das wohl können.
Zitat in Befehlscenter möchte ich, dass durch das aussprechen des Befehls "Globale Befehle" die Listbox "Befehlskontext" aus geklappt wird, die globalen Befehle ausgewählt werden und dann enter gedrückt wird. Dazu könnte man eine Schleife programmieren, die so oft {Down}drückt, bis das ausgewählte Element den Namen"Globale Befehle trägt. Natürlich kann man hier mit "HearWord" drum herum programmieren, aber die "HearWord"- Befehle sind halt echt langsam...
Warum nimmst du nicht einfach:
Alt+k
um den Befehlskontext zu aktivieren (was er ohnehin schon ist), und dann:
g
um "Globale Befehle" zu selektieren? - Aber ich vermute, "meine Lösung" ist nur deshalb so einfach, weil das Beispiel so einfach ist. Deine Grundsatzfrage ist damit selbstverständlich nicht beantwortet. Andererseits, wenn die Listenelemente bekannt sind (was wohl in der Praxis der Fall sein dürfte), geht es doch auch mit dieser "preiswerten" Lösung.
Gruß, Rüdiger
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
Hallo Rüdiger! Vielen Dank für die Hilfe! Immerhin kann ich jetzt im Befehlscenter komfortabel navigieren:-) aber du hast recht, das mit den Befehlscenter sollte nur ein einfaches Beispiel zur Verdeutlichung sein. Eigentlich brauche ich die Funktion "Name des aktuell selektierten Elementes zurückgeben" für komplexere Dinge, zum Beispiel möchte ich jeden Morgen in meinen Workspace Projekte mit einem bestimmten Namen aktualisieren... das ist nämlich immer jede Menge geklicke, das ich mir gerne sparen möchte:-)
the only way you can do this is by using a couple of different Microsoft APIs (Active Accessibility and UI Automation), as Rüdiger pointed out this is the technology (active accessibility) that ShowNumbers uses in order to put pretty little boxes around each component. The problem is that it is not so easy to access these APIs with advanced scripting and certainly not worth the effort. However for your interest there is a very nice little tool that comes with the Windows 7 SDK and it is called Inspect. With inspect you can put it in either active accessibility or UI Automation mode and then hover the mouse above any widget on an application that supports the chosen API, and you will then get lots of information about that particular widget. It's actually a very useful tool because it will quite often show you the name of a widget that wasn't particularly obvious until you used this tool.
As an example of this if you start something like Calculator, the buttons are not all particularly intuitively named but if you use the inspect tool you will find the exact names and you will then be able to call these names using DNS.
In order to access and use Inspect all you need to do is download the full Windows 7 SDK and then type in "Inspect" on the Start Menu. However just remember that although Inspect will tell you the name of many widgets/components, which might allow you to call them, there is little else you can do to access them with Advance Scripting. Also bear in mind that many applications do not support either the active accessibility or the UI Automation API. The ones that do usually do so because of the programming environment may have been created in (visual studio) as opposed to a conscious effort by the developer to make their application voice accessible.
However if you are to develop Java applications in something like Eclipse these will not be voice accessible because Eclipse does not automatically create applications that support either of the Microsoft APIs, it is therefore up to a developer to make these applications accessible. Just assigning shortcut keys to most components is a very basic example of doing this
Zitat von StecknadelHallo Rüdiger! Vielen Dank für die Hilfe! Immerhin kann ich jetzt im Befehlscenter komfortabel navigieren:-) aber du hast recht, das mit den Befehlscenter sollte nur ein einfaches Beispiel zur Verdeutlichung sein. Eigentlich brauche ich die Funktion "Name des aktuell selektierten Elementes zurückgeben" für komplexere Dinge, zum Beispiel möchte ich jeden Morgen in meinen Workspace Projekte mit einem bestimmten Namen aktualisieren... das ist nämlich immer jede Menge geklicke, das ich mir gerne sparen möchte:-)
Kann ich mir denken, aber anders gefragt: wenn man weiß, wonach man sucht, geht es dann nicht so, wie von mir beschrieben? Es ging doch wohl mehr darum, wie man in Listen navigiert, oder irre ich?
Gruß, Rüdiger
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
hallo Rüdiger, Hallo Lindsay!! vielen lieben Dank für eure Antworten! Ich habe schon befürchtet, dass das etwas komplizierter ist, weil ich auch überhaupt gar nichts darüber im Internet gefunden habe. vielen Dank Lindsay, dass du mir diese Inspect-Tool so ausführlich erklärt hast.mit diesem Tool könnte ich mein Problem wirklich lösen. Es gibt da nur 2 kleine Hindernisse: wir haben in der Arbeit noch kein Windows 7, sondern nur Windows XP. und ich brauche diese Funktionalität hauptsächlich im Umgang mit Eclipse, und du hast ja schon erwähnt, dass dieses Tool bei Eclipse wahrscheinlich nicht funktionieren wird:-( aber trotzdem vielen lieben Dank für deine Hilfe! Jetzt weiß ich immerhin, dass sich mein Problem nicht lösen lässt und ich kann aufhören, nach möglichen Lösungen zu suchen:-) @Rüdiger: ich bräuchte die Funktionalität nicht nur für Listen, für mein Problem in Eclipse handelt es sich zum Beispiel um Dateibäume... Aber wie ich das mit Listen jetzt machen kann, weiß ich ja jetzt, das ist ja auch schon mal was:-)