'Usage
Dim visible As Boolean Dim value As Guid value = MyReflection.Start(visible)
Parameters
- visible
- The Boolean value that indicates whether the Reflection application is visible.
'Usage
Dim visible As Boolean Dim value As Guid value = MyReflection.Start(visible)
This method returns an instance ID of type Guid if the call is successful; otherwise an exception is thrown. The returned instance ID uniquely identifies the application instance and is used as an input parameter in ForceStop(Guid instanceId) to stop the instance. (Use theForceStop()
method only after theClose()
method fails.)
To create an application object for the first application instance you create, use CreateApplication("Reflection_yourUserID"). For example, if your user ID is "SmithJ", the channel name for the first application instance you created with Start(bool visible), would be "Reflection_SmithJ".
If you need to create application objects for more than one application instance, use the overloaded version, Start(string channelName, bool visible), to create a known unique channelName for each application instance.
using Attachmate.Reflection.Emulation.IbmHosts; using Attachmate.Reflection.Framework; using Attachmate.Reflection.UserInterface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ApplicationInstanceID { class Program { static void Main(string[] args) { //Start an invisible workspace instance MyReflection.Start(false); //Create an application that represents the instance of the workspace that was just started or is running at the default IPC channel Application app = MyReflection.CreateApplication(); //Create a terminal for an Ibm 3270 session IIbmTerminal terminal = (IIbmTerminal)app.CreateControl(new Guid("{09E5A1B4-0BA6-4546-A27D-FE4762B7ACE1}")); //Specify the host name or IP address and connect. terminal.HostAddress = "demo:ibm3270.sim"; terminal.Port = 623; terminal.Connect(); //Create a view for the session IFrame frame = (IFrame)app.GetObject("Frame"); frame.CreateView(terminal); //Get a handle to the screen. Then wait until it is ready and get the maximum columns and rows IIbmScreen screen = terminal.Screen; screen.WaitForHostSettle(3000, 2000); int maxCols = screen.Columns; int maxRows = screen.Rows; //Get the text on the screen and write it to the Console. string text = screen.GetTextEx(1, 1, maxRows, maxCols, GetTextArea.Block, GetTextWrap.On, GetTextAttr.Any, GetTextFlags.None); Console.WriteLine(text); app.Close(ApplicationCloseOption.CloseNoSave); Console.ReadLine(); } } }