zu (1) Normalerweise brauchen Sie dazu kein Skript, sondern nur den standardmäßigen Befehl „zurück zu…“, etwa „zurück zu Internet Explorer“. Bei der Dragon-Hilfe scheint das nicht zu klappen, weil kein selbstständiges Anwendungsfenster. Sie können es stets in den Vordergrund holen, wenn Sie einfach sagen „Dragon Hilfe anzeigen“.
zu (2) Mit welchem Programm sind denn bei Ihnen .log-Dateien verknüpft? Was passiert, wenn Sie sagen "Öffne Dragon Punkt log anzeigen" (bei aktivierter Option "Befehle zum Öffnen von Elementen im Startmenü aktivieren")?
zu (3) Üblicherweise erledigt Dragon das selbst in gewissen Abständen (bei Lupus ca. einmal wöchentlich) und benennt die bisherige Datei in "dragon.bak.log" um, diese ist bei Lupus gerade 1,6 MB groß, die .log-Datei wurde heute frisch angelegt und misst 64 KB. 130 MB erscheint ziemlich groß. Vielleicht hängt das mit der Verknüpfung zusammen? Sie sollten die Verknüpfung vielleicht mal auf den Editor (notepad) zeigen lassen und beobachten, was passiert. Der Benutzer kann und muss keine Größenbeschränkung vorgeben. Händisches Löschen ist wohl unproblematisch, Dragon generiert eine neue Datei.
(zu 1) ich möchte das konkretisieren. Viele Fenster sind offen und ich möchte ein bestimmtes offenes Fenster gezielt in den Vordergrund bringen, zum Beispiel Notepad oder Firefox oder ein anderes Fenster, welches im Hintergrund ist oder minimiert wurde.
Das würde ich gerne über einen Skript-Befehl ausführen, der zu einer Kette weiterer Skript-Befehle gehören würde.
(zu 2) die Logdateien sind mit einem anderen Texteditor verknüpft. In diesem wird die Datei geöffnet.
Unter Optionen – Befehle finde ich folgenden Eintrag nicht: "Befehle zum Öffnen von Elementen im Startmenü aktivieren"
Eventuell gibt es den erst ab Version 12?
"Öffne Dragon Punkt log anzeigen" führte zum Diktat "öffne Dragon.log"
zu (1): Wie gesagt: Sagen Sie einfach "zurück zu..." und dann den Fenstertitel. Dazu bedarf es keines Skripts, sondern die Funktion ist im Programm vorhanden. Schauen Sie einfach mal in der Dragon-Hilfe unter "zwischen Programmen und Fenstern wechseln".
Wenn Sie das in ein umfangreicheres Skript einbauen wollen, eignet sich vielleicht der HeardWord-Befehl mit einer entsprechenden Listenvariable, aber das müssten schon entweder Sie selbst oder jemand anderes außer Lupus schreiben....)
Alternativ können Sie – jedenfalls ab Version 12 – auch sagen „Programme auflisten“ oder „Alle Fenster auflisten“. Sie erhalten dann ein Fenster mit einer Liste, aus der Sie eine bestimmte Nummer sprachlich auswählen können. Das funktioniert auch für alle Fenster einer bestimmten Anwendung mit dem Befehl „Fenster für auflisten“, z.B. auch mit „Fenster für Dragon auflisten“.
zu (2): Das Problem beruht auf der Kombination von Dragon 11 mit Windows 8. Richtig ist, dass es die genannte Option erst ab der Version 12 gibt, was aber nichts machen sollte, da sie in Dragon 11 standardmäßig aktiviert war (zum Ärger vieler Nutzer, weil sie das Programm verlangsamt). Dass der Befehl nicht richtig funktioniert, liegt sicher an der Verwendung mit dem Betriebssystem Windows 8, in welchem es bekanntlich kein normales Startmenü mehr gibt. Was Dragon dort durchsucht, weiß Lupus nicht, da er Dragon 11 nicht mehr und Windows 8 noch nicht besitzt.
Wenn Sie die log-Verknüpfung partout nicht zurücksetzen wollen: Ein Notbehelf könnte wie folgt aussehen:
Sub Main AppBringUp "C:WindowsSystem32notepad.exe" Wait .4 SendKeys "^o",1 Wait .2 SendKeys "C:HIER PFAD ZUR LOG-DATEI EINGEBENdragon.log",1 SendKeys "{Enter}" End Sub
Zitat von Lupus BetaWenn Sie die log-Verknüpfung partout nicht zurücksetzen wollen: Ein Notbehelf könnte wie folgt aussehen:
Sub Main AppBringUp "C:WindowsSystem32notepad.exe" Wait .4 SendKeys "^o",1 Wait .2 SendKeys "C:HIER PFAD ZUR LOG-DATEI EINGEBENdragon.log",1 SendKeys "{Enter}" End Sub
geht das nicht einfacher? Notepad kann doch mit Dateiangabe geöffnet werden. Also Sub Main AppBringUp "notepad.exe C:PFAD ZUR LOG-DATEIdragon.log" End Sub
Danke, Pascal, für die Erinnerung. Indes: Deine Formulierung führt bei Lupus zu einer Fehlermeldung (Datei kann nicht gefunden werden). Aber mit geringfügig anderer Syntax geht es als Einzeiler:
Sub Main AppBringUp "notepad.exe", "C:HIER PFAD ZUR LOG-DATEI EINGEBENdragon.log" End Sub
Vielen Dank für Eure Hilfe. Ich habe im Forum etwas gefunden, was meiner Meinung nach die Lösung ist, die ich gesucht habe. Leider bekomme ich sie noch nicht zum laufen.
Hier das Script - was muss ich z.B. für Notepad eintragen (Notepad ist offen) und wie finde ich die Einträge (Variable 1 und Variable 2) für ein Programmfenster heraus, die in der Befehlszeile einzutragen sind?
Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, ByVal _ lpWindowName As String) As Long
Declare Function FindWindowEx Lib "user32" Alias _ "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, _ ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Declare Function SetForegroundWindow Lib "user32" _ Alias "SetForegroundWindow" (ByVal Hwnd As Long)As Long
Sub Main ' Systray = Infobereich - funktioniert ' SetForegroundWindow(FindWindowEx (FindWindow ("Shell_TrayWnd","" ) ,0,"TrayNotifyWnd","" ))
' Notepad - so geht das nicht SetForegroundWindow(FindWindowEx (FindWindow ("notepad","" ) ,0,"editor","" )) End Sub
Wie muss ich die Befehlszeile verändern, dass Notepad in den Vordergrund gebracht wird?
Offen gesagt, ist mir das jetzt ein wenig zu kompliziert, um mich darauf einzulassen, vielleicht haben andere mehr Geduld damit. Jedenfalls, wenn Notepad schon aktiv ist und man will es wieder in den Vordergrund holen, geht das ganz einfach mit:
HeardWord "zurück", "zu", "Editor"
Gruß, RW
_______________________________________
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