v1.0
ユーザ インタフェース
すべての仮想キーについて、現在のステータスを取得します。
注: このコマンドは、出力引数を使用します。 C#
および一部のスクリプト言語(JScript、PerlScript、Python
など)は、リファレンスによって渡される引数をサポートしていません。このため、状況に応じた適切な回避策を実行する必要があります。
スクリプト言語の場合、このコマンドは出力引数を取得するために使用できる ISIVTCollection を戻します。
C# の場合は、XSIApplication.ExecuteCommand
メソッドを使用してこのコマンドを呼び出すことができます。 ExecuteCommand は、出力引数を C# の
System.Object (出力引数の配列を含む)にパック化します(詳細については、「C#
からのコマンドの呼び出し」を参照)。
GetKeyboardState( [KeyCode], [Shift] ); |
| パラメータ | タイプ | 詳細 |
|---|---|---|
| KeyCode | Long | まだ実装されていません。 |
| Shift | siKeyboardState | [Shift]キー(1)、[Ctrl]キー(2)、および[Alt]キー(4)に対応した整数マスクを戻します。 |
dim l_ModifierKey
GetKeyboardState , l_ModifierKey
if CBool(CByte(1) And CByte(l_ModifierKey)) then
LogMessage "Shift pressed"
elseif CBool(CByte(2) And CByte(l_ModifierKey)) then
LogMessage "Ctrl pressed"
elseif CBool(CByte(4) And CByte(l_ModifierKey)) then
LogMessage "Alt pressed"
else
LogMessage "No modifier key pressed."
end if
|
/*
This example illustrates how to call the GetKeyboardState command and access
the output argument called Shift; this contains the modifier key state.
*/
var rtn = GetKeyboardState();
var mod;
// get modifier by index
modifier = rtn(1);
LogMessage( "modifier = " + modifier, siInfo );
// get modifier by argument name
modifier = rtn("Shift");
LogMessage( "modifier = " + modifier, siInfo );
var str = "";
if ( 1 & modifier )
{
str = "Shift "
}
if ( 2 & modifier )
{
str += "Ctrl "
}
if ( 4 & modifier )
{
str += "Alt "
}
if ( str != "" )
{
LogMessage( str + "pressed", siInfo );
}
else
{
LogMessage( "No modifier key pressed.", siInfo );
}
//INFO : "modifier = 7"
//INFO : "modifier = 7"
//INFO : "Shift Ctrl Alt pressed"
|