Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 5 Antworten
und wurde 34 mal aufgerufen
 Skripte und Zusatzprogramme
Drachenfee Offline



Beiträge: 213

11.03.2011 16:55
RE: SendKeys für bestimmte Fenster Zitat · Antworten

Hallo Drachenfreunde,

ich möchte mit der Tastenkombination Strg+F4 einen Tab in Firefox schließen.

Dazu möchte ich ein Skript erstellen:

SendKeys Strg ^(F4)
(ist das richtig für Strg+F4?)

nun fehlt mir noch folgende Abfrage, ob das Tab Fenster – Vordergrundfenster – Firefox ist. Nur dann soll die Tastenkombination ausgeführt werden, die ich auf den Befehl "Tab schließen" legen möchte.

Die frage ich mit der Skriptsprache ab, ob das aktuelle Vordergrundfenster Firefox ist?

Besten Dank
Anja

Dragon NaturallySpeaking 11.5; Windows 8 / 64

Marius Raabe Offline



Beiträge: 718

11.03.2011 17:20
#2 RE: SendKeys für bestimmte Fenster Zitat · Antworten

Anja,
eine zulässige Schreibweise wäre

SendKeys "^{F4}"

oder

SendKeys "{Strg+F4}"

Die "Abfrage" solltest du dadurch erledigen, dass du die Verfügbarkeit des Befehls auf "anwendungsspezifisch" und dann für Firefox einstellst.

Aber warum so kompliziert überhaupt? Warum sagst du nicht einfach "Tab schließen"?

Marius

Dragon NaturallySpeaking 11.5 Legal
Windows 7 Prof. 64-Bit, Office 2010, Jarte Plus
Philips SpeechMike II Pro Plus, SpeechMike III, SpeechMike Air, PDCC 2.8
Intel Core2 Quad Q9550, 2,83 GHz, 2x6MB L-2, 8 GB RAM

Drachenfee Offline



Beiträge: 213

11.03.2011 21:55
#3 RE: SendKeys für bestimmte Fenster Zitat · Antworten

Hallo Marius,

das mit Firefox ist nur ein allgemein verständliches Beispiel. Es geht um unterschiedliche Programme, die auf den grundlegenden Befehl "Tab schließen" unterschiedlich reagieren sollen.

Dazu ist es erforderlich, zuerst festzustellen, welches das Vordergrundfenster ist. Dieser Wert wird einer Variablen übergeben und dann ausgewertet. Soweit die Idee.

Nebenbei bemerkt: "Tab schließen" wird bei mir nicht als Befehl erkannt (wird ausgeschrieben, auch wenn Firefox im Vordergrund ist), aber das nur als Bemerkung am Rande.


übrigens – bei SendKeys "{Strg+F4}" erhalte ich folgende Fehlermeldung

---------------------------
Befehle
---------------------------
Das Makro enthält diesen Fehler.

Befehl: "Tab schließen"
Zeile: 2
Position: 0
Beschreibung: (10111) Invalid key name. - WSALookupServiceEnd wurde aufgerufen, obwohl ein solcher Aufruf noch verarbeitet wurde. Der Aufruf wurde abgebrochen.

Nehmen Sie die erforderlichen Korrekturen mit "Befehl erstellen" vor.
---------------------------
OK
---------------------------


Aber der zweite genannte Befehl
SendKeys "^{F4}"
funktioniert.

Bleibt unter dem Strich die Frage, ob man das Topfenster ermitteln kann und in einer Variable speichern.

Besten Dank
Anja

Dragon NaturallySpeaking 11.5; Windows 8 / 64

dsk Offline



Beiträge: 63

21.03.2011 16:01
#4 RE: SendKeys für bestimmte Fenster Zitat · Antworten

Zitat von Drachenfee


Bleibt unter dem Strich die Frage, ob man das Topfenster ermitteln kann und in einer Variable speichern.



Antwort:

1. ja, das tut Dragon von ganz alleine

2. nein, sondern man macht den Befehl anwendungsspezifisch. Damit hat man dann u.U. 20 verschiedene Befehle, die alle gleich heißen, alle in einer anderen Umgebung funktionieren und alle im Prinzip das gleiche tun – von der Verwaltung nicht besonders schön, aber genauso effektiv wie wenn man einen hätte, der erst ausliest, in welcher Anwendung sich der Cursor befindet und dann die entsprechende Tastenfolge sendet.

Noch ganz kurz zur Befehls Syntax: SendKeys nimmt die geschweiften Klammern, um bestimmte Tasten zu übergeben. Modifikatoren müssen vor den geschweiften Klammern stehen. Die Alternative, von Marius angegebene Syntax funktioniert vermutlich mit SendDragonKeys oder SendSystemKeys – aber da fehlt mir gerade die Motivation,es auszuprobieren.

-dsk

R.Wilke Offline



Beiträge: 6.119

22.03.2011 17:40
#5 RE: SendKeys für bestimmte Fenster Zitat · Antworten

Zitat von Drachenfee

Bleibt unter dem Strich die Frage, ob man das Topfenster ermitteln kann und in einer Variable speichern.




Hier habe ich noch ein altes Skript dafür in meiner Sammlung gefunden:




Uploaded with ImageShack.us


Und unten noch mal der Skript-Text zur besseren Lesbarkeit - und um das Kopieren zu vereinfachen, for all the Guttenbergs in the world...

Rüdiger


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 

Declare Function GetForegroundWindow& Lib "user32" ()
Declare Function GetWindowTextLengthA& Lib "user32" _
(ByVal hwnd&)
Declare Sub GetWindowTextA Lib "user32" _
(ByVal hwnd&, ByVal lpsz$, ByVal cbMax&)
Function ActiveWindowTitle$()
ActiveWindow = GetForegroundWindow()
TitleLen = GetWindowTextLengthA(ActiveWindow)
Title$ = Space$(TitleLen)
GetWindowTextA ActiveWindow,Title$,TitleLen+1
ActiveWindowTitle$ = Title$
End Function
Sub Main
MsgBox ActiveWindowTitle$
End Sub
 
 

_______________________________________

DPG 15.6 (15.60.200.015) auf Windows 10 Pro (64-bit)
SpeechMike Premium (LFH3500) + SpeechMike II
HP ZBook 17 G2 (Refurbished) - i7-4910qm - 8MB SmartCache - 32 GB RAM - 512 GB SSD - 1 TB HSSD - 2 TB HDD

Drachenfee Offline



Beiträge: 213

23.03.2011 16:16
#6 RE: SendKeys für bestimmte Fenster Zitat · Antworten

Hallo Rüdiger,

ich wusste doch, dass es geht

Besten Dank
Anja

Dragon NaturallySpeaking 11.5; Windows 8 / 64

Ähnliche Themen Antworten/Neu Letzter Beitrag⁄Zugriffe
Das Fenster mit „Tips“ bei DPI 15 lässt sich nicht zum Verschwinden br
Erstellt im Forum Fragen zur Anwendung von
1 05.06.2017 11:55
von P.Roch • Zugriffe: 21
Das Fenster für "Von bestimmten Dokumenten lernen" nicht bedienen
Erstellt im Forum Fragen zur Anwendung von
12 07.05.2017 22:30
von R.Wilke • Zugriffe: 35
Beim Diktat in inaktiven Fenstern scrollen mit [AlwaysMouseWheel]
Erstellt im Forum Skripte und Zusatzprogramme von
4 05.12.2014 16:45
von Sephibox • Zugriffe: 29
Dragon NaturallySpeaking 12 hängt nach Öffnen vom Fenster
Erstellt im Forum Fehlermeldungen von
3 12.02.2013 12:15
von R.Wilke • Zugriffe: 45
Fenster teilweise nicht darstellbar
Erstellt im Forum Fragen zur Anwendung von
3 28.08.2012 23:40
von Hobbe • Zugriffe: 20
Wechseln zwischen geöffneten Fenstern
Erstellt im Forum Fragen zur Anwendung von
4 18.06.2012 13:52
von JoeBu • Zugriffe: 38
sendKeys mit variablen
Erstellt im Forum Skripte und Zusatzprogramme von
6 06.06.2011 16:47
von Stecknadel • Zugriffe: 34
Fenster verschieben
Erstellt im Forum Skripte und Zusatzprogramme von
8 07.06.2011 19:50
von Stecknadel • Zugriffe: 50
SendKeys wurde abgebrochen?
Erstellt im Forum Fragen zur Anwendung von
14 23.11.2012 11:01
von W. Stehr • Zugriffe: 40
 Sprung  
Xobor Ein Kostenloses Forum | Einfach ein Forum erstellen
Datenschutz