2009-05-18 6 views
0

私は、「マクロ」機能を持つアプリケーションを持っています。キーボードのいくつかのキーをマップして 'マクロ'を実行すると、代わりにvbscriptを起動することもできます。vbscriptを起動するために使用されたキーを取得する

私が試してやりたいことは、スクリプトを起動するためにどのキーが使用されたかをvbscriptで把握することです。これは可能でしょうか? vbscriptに、キーボードで最後にどのキーが押されたのかを知る方法がありますか?そして、私のロジックを適用することができます。

これを行う目的は、複数の別々の.vbスクリプトファイル(各キーボードマッピングごとに1つ、可能な3-4)ではなく、単一の.vbファイルにコードを保持することです。当然のことながら、複数のファイルの代わりに1つのファイルを維持し、それぞれのファイルには基本的に同じコードを使用します。

私はこれが不可能であるという考えに傾いていますが、これはStackOverflowの大衆にとって、これが問題になると思いました。誰も助けてくれてありがとう!

答えて

2

あなたが求めていることはできません。

パラメータを受け入れるようにVBScriptを変更し、次にどのホットキーが選択されたかに基づいて別のパラメータで呼び出すことができますか?

+0

:詳細は、次の2つのリンクを参照してください。 主なvbscriptが何をすべきかを判断するのに役立つ、入力パラメータ付きの「メイン」vbscriptファイルをすべて呼び出す、複数のvbscriptマップマクロを使用することです。 たとえば、キーが押されたときにscriptAが起動され、スクリプトAはすべてwsscript.shellオブジェクトを作成し、値 "1"を渡すメインのvbscriptファイルを起動します。メインのvbscriptはそのパラメータを取得し、それをcaseステートメントで使用して何をすべきかを決定します。 助けていただきありがとうございます。 – Zombie8

+0

私の答えを受け入れてくれてありがとう。キーを押したときにパラメータでメインスクリプトを呼び出すことができない理由はありますか? – aphoria

0

私は嫌悪に同意します。キーボードマッピングソフトウェアでパラメータ/引数を使用してスクリプト/コマンドを割り当てることができる場合は、このようなことを可能にする唯一の方法です。あなたは

c:\Temp\something.vbs 

を使用した場合たとえば、あなたはどのような引数/に基づいてアクションを行うために、コレクションオブジェクト次に、あなたのVBScriptコードで、あなたがwscript.Argumentsを使用して引数を集めることができ

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

にこれを変更しますパラメータが渡されました。私はあなたが正しいと信じている

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

関連する問題