PIC赤外線リモコンキー(IrKey)コマンド一覧


キーボードマクロ関連

項目 内容
Record();
$status=0:記録終了
$status=1:記録開始
・キーボード操作を記録します。
エディターやワープロ共通の操作でキーボードマクロが使えます。
記録/停止のトグル動作になっています。
・Alt+Tab等、一部の複合動作は記録できない場合があります。
 
Play(); ・記録済みのキーボード操作を再生します。  
RecordChange(); ・Record()/Play()で使用する面を切り替えます。
0〜2で順次切り替わります。
現在の面を知るには$HookPage変数を読み出します。
 


音量関連

項目 内容
Volume(id,value); ・音量を調節します。
id=0:master,1:wave,2:midi,3:cd,4:aux
value=0〜100%または±増減値(%)
Volume(0,+10);
Volume(0,-10);
Volume(1,50);
Volume($Select,+10);
Mute(id,"on/off/toggle"); ・音量のMute状態を設定します。
id=0:master,1:wave,2:midi,3:cd,4:aux
Mute(0,"toggle");
Mute(1,"off");


ページ、メニュー関連

項目 内容
Page("ページ"); ・現在のページを設定します。
・赤外線信号を受信した場合は一致しているページから優先に検索されます。
・デフォルトはALLです。
・デフォルトに戻す場合は、Page("");かPage("ALL");にします。
 
PageChange("on/off/toggle"); ・トップウィンドウのタイトルに合わせて自動的にページを変える事ができますが、この自動変更機能をON/OFFする事ができます。 PageChange("on")
Menu("ページ");
MenuID("ID");
・指定ページ、あるいは指定IDのメニューを表示します。
・ページに"AppList"を指定した場合は、実行中のプログラム一覧を表示し、選択した場合はトップウィンドウに移動させる事ができます。
・ページに"Mail"を指定した場合は、メールでタイマー予約されている内容の一覧が表示されます。
Menu("Menu");
MenuID("Start");
Menu("Mail");
MenuUp(num);
MenuDown(num);
MenuSel();
・メニューを表示している時にカーソルを指定数(num)上下したり、カーソル行のコマンドを実行します。 MenuUp(5);
MenuSel();


実行制御関連

項目 内容
AppExec("実行ファイル名","パラメータ");
ShellExec("実行ファイル名");
実行結果が内部変数に代入されます
$status=0:正常
$status=1:異常
・指定されたプログラムを起動します。
・AppExecの実行ファイル名を省略した場合は、関連付けされているプログラムをさがして実行します。
・htmlファイル等がAppExecで開けない場合はShellExecを使って見て下さい。
AppExec("","IrKey.dat");
AppExec("calc","");
ShellExec("IrKey.html");
DosExec("コマンド");
実行結果が内部変数に代入されます
$status=0:正常
$status=1:異常
・指定されたコマンドやプログラムを起動します。
・AppExecと違い、常駐するAPや実行完了迄に5秒以上必要なプログラムの実行は行えません。5秒を越えた場合はデッドロック防止のために強制終了します。
DosExec("test.exe");
DosExec("perl  test.pl");
Sleep(ミリ秒); ・指定時間待ちます。
・100ミリ秒以下の場合は単純に待ちますのでその間他の処理はできなくなります。100ミリ秒を越える場合は、プラスマイナス500ミリ秒以上の誤差がありますが、他の処理も受け付けます。
Sleep(5);
Accept("on/off"); ・LANでの接続可否を設定します。  
RemoteControl("on/off"); ・リモートコントロールの可否を設定します。  
Timer("on/off"); ・タイマー動作のON/OFFを設定します。  
$変数名=数式; ・変数に値を設定します。
変数名の最初は必ず$を付加
※変数名は必ず$+英字にして下さい。
※変数の使用宣言は不要です。最初に値を代入した時にエリアが確保されます。
$Loop=0;
while($loop<10) {
    $Loop = $Loop + 1;
}
Value($name,num); ・変数に値を設定します。
変数名の最初は必ず$を付加
intの範囲で設定、あるいは±増減値
増減の場合は、登録した時のMin/Max内で設定される
Value($Select,+1);
Value($Select,-1);
if(数式) {XX}
if(数式) {XX} else {XX}
・条件判断で処理を分岐します。
VVには変数($status等)や数値を記述します。
XXには関数を記述します。
比較演算子は以下のものが使えます。
 !=、>=、>、<=、<、==、<<、>>、&&、&、|、,|
※{}は省略できません。
※while()と合わせて最大10までネストできます。
 
while(数式){
  XX
  continue;
  XX
  break;
  XX
}
・条件判断して処理を繰り返します。
・continueでwhile()の先頭に戻ります。
・breakでwhile()のループを抜けます。
※100ミリ秒を越えるSleep()やIrSend()が実行されない状態でwhile()の繰り返し処理が通算10000回以上行われると、無限ループと判断して処理を中止します。
※if()と合わせて最大10までネストできます。
$Loop=0;
while($loop<10) {
    $Loop = $Loop + 1;
}
exit(); ・コマンドを途中で終了できます。 if(結果!=0) {
  exit();
}
・・・別のコマンド
Command("Page","Code1","Code2"); ・「Application」に格納されているCommand部分を実行します。
・対象データはPageとCode列で検索します。
・「HotKey」と「Application」で共通の操作をまとめたりするのに使用します。
※今後はFile()関数の利用を推奨します。
 
File("CommandFile"); ・指定されたファイル内容を読み込んで実行します。定型操作をファイル単位で作成できます。
・ファイル単位でコマンドを記述した場合は、//により行末までのコメントを記述する事ができます。
 
MailCheck();
$status=0:指示正常
$status=1:指示異常
・メールを検索して、IrKeyの操作指示を受け付けます。
・この関数はメール確認指示を与えるとすぐに復帰してきます。
・常時接続環境で使いましょう。
・詳しい説明はこちらです。
InitMail(); ・エラーストップしたMailCheck()処理を初期化して再度チェックできるようにします。
・プロバイダの工事等でメールの監視ができなくなった時のために設定します。
・詳しい説明はこちらです。
 
strcmp(文字列1、文字列2);
$status=0:等しい
$status!=0:違う
・2つの文字列(変数)を比較します。
・大文字、小文字は区別しません。
strcmp($Code,"CH1");
if( $status == 0 ) {
    何らかの処理
}
Exist("タイトル");
Exist("タイトル":"ClassName");
$status=0:有り
$status=1:無し
・指定タイトルを持つウィンドウが存在するか確認します。ClassNameでも指定できます。
・ClassNameはIrKeyMntのCursorCheckで確認できます。
・if文と組み合わせて、プログラムが動いてなければ動かすようにできます。
Exist("電卓");
Exist("":"TForm1");
Perl("filename");
$status=Perlの実行結果コード
・filenameで指定されたパールのプログラムを実行します。  


ファイルアクセス関連

項目 内容
Access("filename",mode);
$status=accessの実行結果コード
・ファイルの有無等を調べます。
C言語のaccess()と同じです。
Access("filename",0);  //ファイルの有無確認
//$statusがゼロなら有り。
Unlink("filename");
$status=unlinkの実行結果コード
・ファイルを削除します。
C言語のunlink()と同じです。
 
Rename("oldfilename","newfilename");
$status=renameの実行結果コード
・ファイル名を変更します。
C言語のrename()と同じです。
 
Initialize(); ・右クリックのメニューからReloadを選択した時と同じ動作をします。再度定義ファイルから情報を読み出して実行します。  


アプリケーション操作、その他

項目 内容
MouseMove("タイトル",x,y);
MouseMove("タイトル":"ClassName",x,y);
$status=0:正常
$status=1:タイトルが見つからない
MouseClick("right/left/middle");
・指定タイトルを持つウィンドウ内の指定座標にマウスカーソルを移動します。
・ClassNameでも指定できます。
・ClassNameはIrKeyMntのCursorCheckで確認できます。
・タイトルを省略した場合は画面全体での座標指定になります。その場合は座標の前にプラス(+)またはマイナス(-)を付ける事により現在のカーソル位置からの相対位置で指定できます。
・MouseClickで、指定ボタンによるクリックを行います。
MouseMove("電卓",200,150);
MouseMove("",+15,+20);
MouseClick("left");
ShowWindow("タイトル",
 "Minimize/Normal/Maximize");
ShowWindow("タイトル":ClassName",
 "Minimize/Normal/Maximize");
$status=0:正常
$status=1:タイトルが見つからない
・指定タイトルを持つウィンドウを最小化したり、元に戻したりします。
・ClassNameでも指定できます。
・ClassNameはIrKeyMntのCursorCheckで確認できます。
ShowWindow("電卓","Minimize");
Message("message",msec);
Message("message"+$status,msec);
・"message"の内容を指定ミリ秒表示します。
時間は最大500ミリ秒の誤差があります。
変数の内容も表示できます。連結を示す「+」は省略しても構いません。
Message("記録開始",1000);
Messgae("結果 = "+$status,5000);
IrSend("Comment","Code");
$status=0:送信正常
$status=1:送信異常
・「IR data」に格納されている赤外線信号を送信します。
・対象データはComment列とCode(Alias)列で検索します。
・タイマーと組み合わせて、指定時刻にTVを点けたりできます。
 
SendKeys("タイトル","送信キー");
SendKeys("タイトル":"ClassName","送信キー");
vbSendKeys("タイトル","送信キー");
vbSendKeys("タイトル":"ClassName","送信キー");
$status=0:正常
$status=1:タイトルが見つからない
・指定タイトルを持つウィンドウにキー入力を与えます。
・ClassNameでも指定できます。
・ClassNameはIrKeyMntのCursorCheckで確認できます。
・タイトル部分を""にしておくと、アクティブウィンドウへの送信となります。
・作り方の違いにより、SendKeysではうまく動かない場合でもvbSendKeysで動作する事があります。お試し下さい。
・vbSendKeysは外部プログラムとしてVisualBasicで作成しています。送信キー部分についてはVisualBasicと同じ記述ができます。
・送信キーは下記を参照して下さい。
SendKeys("電卓","%{F4}");
SendKeys("","%{F4}");
SendKeys("":"TForm1","%{F4}");

※タイトルは、前後にアスタリスク(*)を付けて省略する事ができます。
 "on/off"等の文字列は大文字、小文字を区別していません。
 $statusは内部変数で、実行結果によって設定されます。if文で使用します。

 

・送信キー

項目 内容
+ Shift
^ Ctrl
% Alt
# Win
・制御記号として使います。
・直後に指定されたキーと一緒に押された事になります。
"+A" シフトキーを押しながらAを押します。
"+{UP}" シフトキーを押しながらカーソルアップします。
0-9,A-Z,$XX ・そのまま送信されます。
・$XXは16進数指定で送信します。(定義されていないコードを送る時に使用します)
$31
$0A
(文字列) ・括弧内の文字列をWin32APIのPostMessageを使って送信します。
・メモ帳に文字列を送ったりする時に使用します。
・括弧を送る場合は"(()"等のように囲みます。
 
{.}/{DECIMAL}
{*}/{MUL}/{MULTIPLY}
{-}/{SUB}/{SUBTRACT}{MINUS}
{/}/{DIV}/{DIVIDE}
{+}/{PLUS}/{ADD}
{ALT}
{SP}/{SPACE}
{BS}/{BKSP}/{BACKSPACE}
{BREAK}
{CAPSLOCK} {CLEAR}
{DEL}/{DELETE}
{DOWN}
{END}
{ENTER}/{RET}/{RETURN}
{ESC}/{ESCAPE}
{F1}〜{F24}
{HELP}
{HOME}
{INSERT}
{LEFT}
{NUMLOCK}
{PGDN}/{PAGEDOWN}
{PGUP}/{PAGEUP}
{PRTSC}
{RIGHT}
{SCROLLLOCK}
{TAB}
{UP}
{WIN}
{LWIN}
{RWIN}
{APPS}

{CONVERT}
{NONCONVERT}
{ACCEPT}
{MODECHANGE}
{SLEEP}
{BROWSER_BACK}
{BROWSER_FORWARD}
{BROWSER_REFRESH}
{BROWSER_STOP}
{BROWSER_SEARCH}
{BROWSER_FAVORITES}
{BROWSER_HOME}
{VOLUME_MUTE}
{VOLUME_DOWN}
{VOLUME_UP}
{MEDIA_NEXT_TRACK}
{MEDIA_PREV_TRACK}
{MEDIA_STOP}
{MEDIA_PLAY_PAUSE}
{LAUNCH_MAIL}
{LAUNCH_MEDIA_SELECT}
{LAUNCH_APP1}
{LAUNCH_APP2}
・0-9,A-Z以外のキーは左記のように指定します。ほとんどVisualBasicと同じです。  


内部変数一覧

項目 内容 備考
$status ・各種関数の実行結果を保持しています。
詳細はコマンド一覧を参照。
読み込み専用です。
$HookPage ・キーボードマクロで使っている面を記憶しています。範囲は0〜2です。 読み込み専用です。
RecordChange()で設定されます。
$Mail ・最後にメールチェックした時の、メールサーバー上にある全てのメール件数を保持しています。 読み込み専用です。
MailCheck()で設定されます。
$Date ・月日を保持しています。0101〜1231 読み込み専用です。
$Time ・時分を保持しています。0000〜2359 読み込み専用です。
$PlatformId
$MajorVersion
$MinorVersion
$BuildNumber
・APIのGetVersionEx()で得られた値を保持しています。
備考以外の詳細はAPIを調べて下さい。
読み込み専用です。
通常はPlatformIdが
1ならWindows95/98/Me
2ならNT/2000と判定します
$Code
$Alias
$OldCode
$OldAlias
・最新と直前に受信した赤外線信号のコードを保持しています。メールからの指示コードも含まれます。
strcmp()関数で使用します。
読み込み専用です。

 

Copyright (C) 2001-2003 T.Sagae   All Rights Reserved.