接続を作成した後、LU2 接続を介してリモート・ディスプレイに情報を送信できます。
LU2 のトランザクション インテグレーターを使用してメッセージを送信する
必要に応じて、
SessionDisplay.Move
メソッドのいずれかを呼び出して、画面上の書き込み先の位置にカーソルを移動します。Microsoft.HostIntegration.SNA.Session.SessionDisplay
には、さまざまなMicrosoft.HostIntegration.SNA.Session.SessionDisplay.MoveCursor%2A
、Microsoft.HostIntegration.SNA.Session.SessionDisplay.MoveNextField%2A
、Microsoft.HostIntegration.SNA.Session.SessionDisplay.MovePreviousField%2A
、およびMicrosoft.HostIntegration.SNA.Session.SessionDisplay.MoveToField%2A
のオーバーロードが含まれています。 これらのオーバーロードを使用すると、指定した情報に応じて、カーソルを画面のさまざまな部分に移動できます。SessionDisplay.Move
メソッドは、同様のSessionDisplay.Get
メソッドのセットによってミラー化され、カーソルの位置と画面上のさまざまなフィールドに含まれる情報を取得できます。SessionHandler.sendKey
の呼び出しを使用して、現在のカーソル位置に情報を送信します。sendKey
は、指定した文字列をカーソルでマークされた画面上の場所に送信します。 使用可能なカーソル位置がない場合、sendKey
は情報を既定の場所に送信します。
例
次のコードは、SDK サンプル ディレクトリ内の 3270 アプリケーションからのコードです。 このサンプルでは、開発者はカーソルが画面上の既定の場所にあることを前提としているため、カーソルの場所は確認されません。
private void ConnectCICS_Click(object sender, EventArgs e)
{
try
{
CICSName.Text = CICSName.Text.Trim();
if (CICSName.Text.Length == 0)
{
MessageBox.Show("You must fill out the CICS Name");
return;
}
// Disable every button and text box.
DisableEverything();
m_Handler.SendKey(CICSName.Text + "@E");
TraceScreen();
m_Handler.WaitForSession (SessionDisplayWaitType.PLUSLU, 5000);
TraceScreen();
m_Handler.WaitForContent(@"DEMONSTRATION", 20000);
TraceScreen();
// Enable clear screen.
EnableClearScreen();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}