「GetKeyState.exe(キー状態取得実行ファイル)」の版間の差分
| 56行目: | 56行目: | ||
= 実装例 = | = 実装例 = | ||
'''''window.Alert( "XXキーが押されています" );''''' | サンプルコード1、サンプルコード2 の<br> | ||
<br> | '''''window.Alert( "XXキーが押されています" );''''' | ||
<br> の部分を任意の動作コードに置きかえてください。<br> | |||
マクロの動作内容に変化をつけたり、複数のマクロの実行コードを振り分けてひとつのマクロにまとめたりすることができます。 | |||
| 102行目: | 104行目: | ||
else { | else { | ||
window.Alert( "修飾キーは押されていません" ); | window.Alert( "修飾キーは押されていません" ); | ||
} | |||
</source> | |||
;サンプルコード3 | |||
ポップアップメニューマクロへの導入サンプルです。<br> | |||
メニューに表示する内容や、選択した項目から実行するコマンドを切り替えることができます。 | |||
<source lang="javascript"> | |||
var getKeyState = editor.FullName.replace( /[^\\]+$/i , "" ) | |||
+ "Macros\\GetKeyState.exe"; | |||
var WshShell = new ActiveXObject( "WScript.Shell" ); | |||
// マクロ開始時の Ctrl キーの状態を取得 | |||
var $ctrl1 = WshShell.Run( "\"" + getKeyState + "\" ctrl", 0, true ); | |||
var menu = CreatePopupMenu(); | |||
menu.Add( "ほげ", 1 ); | |||
// Ctrl キーを押しながら実行したときは、項目を追加表示する | |||
if ( $ctrl1 == 1 ) { | |||
menu.Add( "ほげほげ", 2 ); | |||
} | |||
// ポップアップメニューを表示 | |||
var r = menu.Track( mePosMouse ); | |||
// Ctrl キーを押しながら項目を選択したときは、ダイアログに表示する内容を切り替える | |||
var $ctrl2 = WshShell.Run( "\"" + getKeyState + "\" ctrl", 0, true ); | |||
switch( r ) { | |||
case 1: | |||
if ( $ctrl2 == 0 ) window.Alert( "ほげ" ); | |||
else if ( $ctrl2 == 1 ) window.Alert( "ふが" ); | |||
break; | |||
case 2: | |||
if ( $ctrl2 == 0 ) window.Alert( "ほげほげ" ); | |||
else if ( $ctrl2 == 1 ) window.Alert( "ふがふが" ); | |||
break; | |||
default: | |||
break; | |||
} | } | ||
</source> | </source> | ||
スポンサーリンク