Show Contents / Index / Search

Get the View in Focus (OpenSystems)

using System;

using System.Collections.Generic;

using System.Text;

using Attachmate.Reflection.Framework;

using Attachmate.Reflection.UserInterface;

using Attachmate.Reflection.Emulation.OpenSystems;

namespace GetFocusedSession

{

class Program

{

static void Main(string[] args)

{

Attachmate.Reflection.Framework.Application reflectionApplication =

MyReflection.CreateApplication("Reflection");

if (reflectionApplication !=null)

IView sessionView;

//Get the Frame object.

IFrame theFrame = (IFrame)reflectionApplication.GetObject("Frame");

if (theFrame != null)

{

//Get the session view with the focus.

sessionView = theFrame.SelectedView;

if (sessionView != null)

{

//Get the control embedded in the view.

ITerminal terminal = (ITerminal)sessionView.Control;

if (terminal != null)

{

IScreen screen = terminal.Screen;

string text = screen.GetText(18, 2, 48);

Console.WriteLine("The Text at row 18, column 2: " + text);

Console.WriteLine("The session is connected to: " + terminal.HostAddress);

}

else

Console.WriteLine("Fatal error. Check Reflection 2008 installation.");

}

else

Console.WriteLine("No session is open in Reflection 2008.");

}

else

Console.WriteLine("Fatal error. Check Reflection 2008 installation.");

}

else

Console.WriteLine("Failed to get Application object.");

}

}

}