2009-05-18 4 views
0

Ich habe eine Anwendung, die 'Makro' Fähigkeiten hat. Wenn ich einige Tasten auf der Tastatur abbilde, um das Makro auszuführen, kann ich auch vbscript starten.Erfassung, welche Schlüssel zum Starten von VBScript verwendet wurden

Was ich versuchen möchte, ist in meinem Vbscript herauszufinden, welche Schlüssel verwendet wurden, um das Skript zu starten. Ist es möglich, dies zu tun? Könnte es einen Weg in VBScript geben, um herauszufinden, welche Tasten zuletzt auf der Tastatur berührt wurden, und dann könnte ich meine Logik anwenden.

Der Zweck dieses Vorgangs besteht darin, den Code in einer einzelnen .vb-Datei statt mehrerer separater .vb-Skriptdateien zu speichern (eine für jede Tastaturzuordnung, möglich 3-4). Offensichtlich suchen wir nur eine Datei statt mehrerer Dateien mit im Wesentlichen dem gleichen Code in jedem einzelnen.

Ich bin auf die Idee, dass dies nicht möglich ist, aber ich dachte, das wäre eine würdige Frage für die Massen von StackOverflow. Danke für die Hilfe alle!

Antwort

2

Was Sie verlangen, ist nicht möglich.

Können Sie Ihr VBScript so ändern, dass Parameter akzeptiert werden und es dann mit einem anderen Parameter aufgerufen wird, je nachdem, welcher Hotkey ausgewählt wurde?

+0

Ich glaube, Sie richtig sind. Mein Plan ist es, mehrere VBScript zugeordnete Makros zu verwenden, die alle eine "Haupt" -VBScript-Datei mit einem Eingabeparameter aufrufen, um dem Haupt-VBScript zu helfen, zu bestimmen, was zu tun ist. Beispiel: scriptA wird gestartet, wenn eine Taste gedrückt wird. Alles Skript A erstellt das wsscript.shell-Objekt und startet die vbscript-Hauptdatei mit dem Wert "1". Das Hauptvbscript wird diesen Parameter abrufen und ihn in einer case-Anweisung verwenden, um zu bestimmen, was zu tun ist. Danke für Ihre Hilfe Aphorie. – Zombie8

+0

Danke für die Annahme meiner Antwort. Gibt es einen Grund, warum Sie Ihr Hauptskript nicht einfach mit dem Parameter aufrufen können, wenn Sie die Taste drücken? – aphoria

0

Ich stimme Aphoria zu, der einzige Weg, um so etwas möglich zu machen, ist, wenn Ihre Tastatur-Mapping-Software Ihnen erlaubt, ein Skript/einen Befehl mit Parametern/Argumenten zuzuweisen. Wenn Sie zum Beispiel

c:\Temp\something.vbs 

verwendet dann würden Sie diese

%WINDIR%\system32\wscript.exe c:\temp\something.vbs "Ctrl-Alt-R" 

Dann in Ihrem VBScript-Code

ändern Sie das Argument mit den WScript.Arguments Sammlung sammeln konnte Objekten Aktionen zu tun, basierend auf welchem ​​Argument/Parameter wurde übergeben. Auch die folgenden zwei Links für weitere Informationen:

http://msdn.microsoft.com/en-us/library/z2b05k8s(VS.85).aspx http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0915.mspx