ページの先頭行へ戻る
WSMGR V9 使用手引書
FUJITSU Software

9.4.2 キー入力制御

アプリケーションからディスプレイ端末へのキー入力エミュレーションと、オペレータによるディスプレイ端末へのキー入力の横取りを行うインタフェースです。


■キー入力SendKeysメソッド

構文

object. SendKeys ( str [,row,column] )

引数

引数は次のものです。

項目

内容

str

文字列

ホストへ送信する文字列を指定します。

row

整数

入力開始の行位置を指定します。

column

整数

入力開始の桁位置を指定します。

二重発行動作

キャンセル

復帰値

0:正常/その他の値:異常

対象エミュレータ

関連プロパティ

WaitTime,WaitStatusTime,CodeConvType


ディスプレイ端末に対するキー入力をエミュレーションします。


メソッドの処理にはプロパティの「WaitTime(メソッド応答待ち時間)」「WaitStatusTime(ホスト状態監視時間)」指定値が使用され、「キー入力可能」状態を待ち合わせてキー送信処理を開始します。


引数「str」は「CodeConvType(1バイト系コード変換種別)」プロパティに従ってコード変換されます。


入力はメソッドの引数「row、column」の指定位置から開始します。

引数「row」「column」は合わせて省略が可能です。

「row、column」の省略時には現在のカーソル位置から入力を開始します。

入力の際には、実際の入力と同様にカーソルも移動します。


引数「str(送信文字列)」には、文字列だけではなく、エミュレータキーとホスト漢字コードを記述することができます。
引数「str(送信文字列)」にエミュレータキーやホスト漢字コードを記述する場合には“[ENTER]”や“[41A1]”のようにカッコ[]で囲みます。

カッコ内には1つの項目のみ指定可能です。

カッコ記号のみ入力する場合には“[[”のようにカッコを重ねて書きます。

なお、この記述形式は、入力系メソッド(SendKeys、PutScreen、PasteScreen)で同様に使用します。


「カーソル制御キー」は以下のように記述します。

エミュレータキー

記述形式

[RIGHT]

[LEFT]

[UP]

[DOWN]

→→

[RIGHT2]

←←

[LEFT2]

TABキー

[TAB]

BACK TABキー

[BACKTAB]

右寄せTAB

[PACKRIGHT1]

改行キー

[RETURN]

前行キー

[PREV]

HOMEキー

[HOME]

INSERT MODEキー

[INSERT]

DELETEキー

[DELETE]

ERASE INPUTキー

[ERASEINPUT]

ERASE EOFキー

[ERASEEOF]

+入力キー

[+ENTER]

右寄せ+入力キー

[PACKRIGHT2]


「プログラム・アテンション・キー」は以下のように記述します。

エミュレータキー

記述形式

CLEARキー

[CLEAR]

ENTERキー

[ENTER]

PF1キー

~PF24キー

[PF1]~[PF24]

PA1キー

~PA3キー

[PA1]~[PA3]


「ローカルコピーキー」は以下のように記述します。

エミュレータキー

記述形式

PRINTキー

[PRINT]

DEVICE CANCELキー

[DEVCAN]


「その他のエミュレータキー」は以下のように記述します。

エミュレータキー

記述形式

RESETキー

[RESET]

CURSOR SELECTキー

[CURSORSEL]

DUPキー

[DUPLICATE]

FIELD MARKキー

[FIELDMARK]

SYSREQキー

[SYSREQ]

ATTNキー

[ATTN]

TESTキー

[TEST]


「拡張機能キー」は以下のように記述します。

エミュレータキー

記述形式

エミュレータの終了

[EEND1]

強制終了

[EEND2]


上記以外のエミュレータキーはサポートしません。
「拡張機能キー」のエミュレータ終了キー([EEND1]、[EEND2])に対するエミュレータの動作は、ホスト接続時の接続パス状態によって異なります。(「ConnectXの基本動作」中の「9.2.4 ホスト接続/切断」を参照)


●未使用の接続パスへ接続した場合

ホスト切断の権利はアプリケーションが持っているため、エミュレータ終了キーによる終了動作は行われません(エミュレータ終了キーを送信した場合、キーは無視されます)。
アプリケーションからの「Close(ホスト切断)」メソッドによってエミュレータも終了します。


●エミュレータが使用中の接続パスへ乗り入れた場合

パス切断の権利はエミュレータが持っています。
エミュレータ終了キーを送信した場合、エミュレータの終了と共にパスは切断されます。
また、乗り入れていたアプリケーションはホスト切断状態となります。


なお、文字列の入力開始後はキーボードロック状態の監視を行いません。
そのため、入力中にキーボードロック状態が発生する場合(プログラム・アテンション・キーを文字列の途中に指定、フィールド脱出によるアテンションの発生 等)、その後に続く文字の入力が正常に行われない場合があります。


<プログラム・アテンション・キー+文字列を指定した例(誤)>

SendKeys (“LOGON TSS[ENTER] ID/PASSWORD[ENTER]”)
↑下線付き部分の文字列入力が保証されません。

上記のような文字列を送信する場合には、次のように文字列を分けて送信してください。


<プログラム・アテンション・キー+文字列を分割した例(正)>

SendKeys (“LOGON TSS[ENTER]”)
SendKeys (“ID/PASSWORD[ENTER]”)