Ist es möglich, aus AutoIt heraus ein Dragon-HeardWord bzw. Dragon-Script zu starten?
Ich möchte z.B. in AutoIt den Dragon-Sprachbefehl "als Ausdruck hinzufügen" auf einen Button legen, damit selektierter Text zu Dragon hinzugefügt wird.
In einem englischen Forum fand ich folgendes, kann das aber leider nicht so anpassen, dass es in AutoIt läuft.
Insbesondere weiß ich nicht, wie ich die Referenz auf Dragon in AutoIt herstellen kann.
Gibt es eine Dragon-DLL, die ich in AutoIt einbinden kann?
Hier das Beispiel:
If you simply want to run a command, this will work (VB)
(reference to Dragon NaturallySpeaking ActiveX Controls)
hinter der im Beispiel genannte Referenz zu Dragon NaturallySpeaking ActiveX steht die dnstk10.dll. Wie diese in AutoIt einzubinden ist, müssen Leute beantworten, die AutoIt benutzen. Ich benutze es nicht.
Welche Problemstellung, welche Idee verbirgt sich denn hinter Ihrem Beitrag?
Ich finde, dass Beiträge, die ganz gezielt nach einem sehr speziellen Sachverhalt fragen, in der Regel nicht zum Mitdenken anregen. Und damit auch wenig Motivation besteht, sich an der Suche nach einer Anwort zu beteiligen. Also, Leute, seid nicht so schreibfaul, wenn ihr eine Problem-Lösung braucht.. Gruß, Pascal
Zitat von P.Rochhinter der im Beispiel genannte Referenz zu Dragon NaturallySpeaking ActiveX steht die dnstk10.dll.
Sagen Sie mir bitte, wo genau Sie die Referenz gefunden haben? "reference to Dragon NaturallySpeaking ActiveX Controls" ... gibt es dafür eine Datei beim installierten Dragon - oder online was zum Nachlesen?
Zitat von P.RochWelche Problemstellung, welche Idee verbirgt sich denn hinter Ihrem Beitrag?
Wie in Post 1 geschrieben:
Zitat von AloisIch möchte z.B. in AutoIt den Dragon-Sprachbefehl "als Ausdruck hinzufügen" auf einen Button legen, damit selektierter Text zu Dragon hinzugefügt wird.
Es gibt Sprachbefehle, die sollten auf einem Button sein, da der Zugriff darüber wesentlich schneller ist.
Jeder hat so seine Vorlieben ... am liebsten wäre mir ein kreisrundes Kontextmenü für solche Sprachbefehle im Diktierfenster.
Ich wette, Herr Wilke hat ein paar Beispiele in der Schublade, da er einiges rund um Dragon herum programmiert hat
Es ist gar nicht so leicht, den Zugang zu finden, wenn man über Programmiersprachen ran an den Drachen möchte.
Bevor ich meine Schublade öffne, haben Sie noch eine Menge Hausaufgaben zu erledigen. Etwa, mal den Thread, woraus Sie kopiert haben, einfach mal von Anfang bis Ende lesen und verstehen. Alternativ sich daraus ergebende konkrete Fragen stellen.
Für den Fall, dass Sie ihn nicht mehr finden können:
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
Zitat von R.WilkeBevor ich meine Schublade öffne, haben Sie noch eine Menge Hausaufgaben zu erledigen.
Ich habe den Link vorher gespeichert. Mein Englisch ist leider grottenschlecht und mit automatischer Google-Übersetzung bin ich noch nicht zu dem Punkt gekommen, auf den Sie mich lenken möchten.
Geben Sie mir bitte einen Tipp.
Nach langer Suche fand ich obigen Beitrag - und den leider als einzigen - der in mir die Hoffnung weckte, dass es möglich sein kann, eine Dragon-DLL in AutoIt einzubinden, um darüber einen Dragon-Sprachbefehl als Funktion auf einen Button zu legen.
PS: ich habe mich gerade 2,5 Stunden durch Forum gewühlt - durch Beiträge, die ich gestern zur ListVar1 geöffnet habe. Wow
Zitat von AloisMein Englisch ist leider grottenschlecht
Dann wird es wohl sehr schwierig für Sie, denn wenn es dazu überhaupt etwas zu lesen gibt, ist es auf Englisch.
Zitatder in mir die Hoffnung weckte, dass es möglich sein kann, eine Dragon-DLL in AutoIt einzubinden
Das kann ich nicht beantworten, weil ich AutoIt nicht kenne und nicht weiß, ob und wie man darin fremde Objekt-Bibliotheken einbinden kann.
Im allgemeinen sieht es so aus, dass die Dragon ActiveX Komponenten, oder die Dragon API, was nicht mit der Dragon eigenen Skriptsprache zu verwechseln ist, problemlos in folgende Programmierumgebungen eingebunden werden können:
Visual Basic C# C++
Das von Ihnen zitierte Beispiel bezieht sich dabei auf Visual Basic. In Visual Basic oder in C#, sofern man eine geeignete IDE verwendet, z.B. Visual Studio, erfolgt die Einbindung schlicht über entsprechende Objekt-Verwaltungen, genauso wie im Dragon Skript-Editor. Voraussetzung ist, dass auf dem Computer Dragon installiert ist, so dass die entsprechende DLL im System registriert ist. Es trifft zu, dass es sich dabei um dnstk10.dll, welche im Programmordner von Dragon liegt, damit kann man aber nichts anfangen, denn entscheidend ist, dass die Bibliothek bei der Installation registriert wurde, sonst könnten Visual Basic oder C# sie nicht finden.
Bei C++ sieht es noch etwas anders aus, dabei wird die API über sogenannte Header-Dateien (*.h) eingebunden, die nicht frei verfügbar sind, und über deren Inklusion sind die API-Schnittstellen objektmäßig verfügbar.
Die Tatsache, dass die Bibliothek und die Schnittstellen bei der Installation von Dragon registriert werden, sorgt wiederum dafür, dass die erstellten Programme auch auf dem Zielcomputer laufen.
Aber selbst wenn man soweit ist, dass man programmatisch auf die API zugreifen kann, kommt man nicht weit, wenn man nicht weiß, wie man mit den Schnittstellen umgehen kann. Elementarer noch: wie muss ein Programm überhaupt gestartet und beendet werden, damit es überhaupt mit Dragon kommuniziert und es nicht zum Absturz bringt?
So ein bisschen Einblick liefert eine Hilfedatei namens dnsapi.chm, die im Help-Ordner im Dragon-Programmordner liegt.
Und, üben könnte man schon mal mit Advanced Scripting, denn dort steht die API größtenteils ebenfalls zur Verfügung.
Wenn Sie nach all dem immer noch interessiert sind, würde ich Ihnen empfehlen, mal mit Visual Basic anzufangen.
_______________________________________
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
Ich bezweifle, dass es so einfach geht, wie Sie sich das vorstellen, aber viel Glück dabei.
Was Ihre vielen Fragen betrifft, suchen Sie selbst nach Antworten.
Das Thema schließe ich damit.
PS: noch ein paar Anmerkungen, um Ihnen zu zeigen, wo Sie stehen.
Die Frage "Wo finde ich eine Beschreibung der Parameter für die dnstk10.dll?" ist widersinnig. Paramater gelten für den jeweiligen Funktionsaufruf, nicht für die komplette DLL. Um die Parameter zu kennen, müsste man erstmal die Funktionen kennen, und den Rückgabewert siehe oben.
Wenn Sie das von Ihnen zitierte Beispiel für den Aufruf einer Message Box verstehen würden, würde Sie die Frage so nicht stellen. Darauf bezogen, würde die Fragestellung nach Ihrem Kenntnisstand wie folgt lauten: Wo finde ich eine Beschreibung der Parameter für die user32.dll?
Dabei deutet die Antwort auf Kenntnisse der WinAPI, ohne die es nicht geht und wo klar ist, dass man nicht mal so eben von einer Skriptsprache in eine Programmiersprache herüberspringt.
Bei Dragon gilt dasselbe.
Das Thema bestätigte mich wieder mal in meinem Widerwillen auf solche Fragen zu antworten, sobald die auftauchen, weil man schon zu Anfang weiß, wie es endet.
_______________________________________
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