static void Main() { #if DEBUG Logging.Debug = true; #endif Logging.Trace("HatStandAloneStub", "start"); Application.Run(HatStandAloneStub.CreateInstance()); Logging.Trace("HatStandAloneStub", "end"); }
public static Form CreateInstance() { ApplicationRecord appRec = new ApplicationRecord(); appRec.ApplicationID = 7; appRec.Name = "HatStandaloneTestApp"; appRec.Type = 2; appRec.Initialization = @" <initstring> <interopAssembly> <URL>C:\CCFCITRIX\Microsoft.Ccf.Samples.StandAloneTestApp.exe</URL> <Arguments/> <WorkingDirectory>C:\CCFCITRIX</WorkingDirectory> <hostInside /> </interopAssembly> <DataDrivenAdapterBindings> <Type>Microsoft.Ccf.HostedApplicationToolkit.DataDrivenAdapter.WinDataDrivenAdapter, Microsoft.Ccf.HostedApplicationToolkit.DataDrivenAdapter</Type> <Controls> <AccControl name=""textbox_acc""> <Path> <Next match=""2"">Test:</Next> <Next>Test:</Next> </Path> </AccControl> <AccControl name=""button_acc""> <Path> <Next>Ok</Next> <Next>Ok</Next> </Path> </AccControl> <AccControl name=""checkbox_acc""> <Path> <Next>Test Checkbox</Next> <Next>Test Checkbox</Next> </Path> </AccControl> <AccControl name=""radio1_acc""> <Path> <Next>Radio1</Next> <Next>Radio1</Next> </Path> </AccControl> <AccControl name=""radio2_acc""> <Path> <Next>Radio2</Next> <Next>Radio2</Next> </Path> </AccControl> <AccControl name=""radio3_acc""> <Path> <Next>Radio3</Next> <Next>Radio3</Next> </Path> </AccControl> <AccControl name=""tab1_acc""> <Path> <Next offset=""-1"">Simulate Crash</Next> <Next offset=""1"">Application</Next> <Next>Tab Page 1</Next> </Path> </AccControl> <AccControl name=""tab2_acc""> <Path> <Next offset=""-1"">Simulate Crash</Next> <Next offset=""1"">Application</Next> <Next>Tab Page 2</Next> </Path> </AccControl> <AccControl name=""crashbutton_acc""> <Path> <Next>Simulate Crash</Next> <Next>Simulate Crash</Next> </Path> </AccControl> </Controls> </DataDrivenAdapterBindings> <displayGroup>None</displayGroup> <optimumSize x=""800"" y=""600"" /> <minimumSize x=""640"" y=""480"" /> </initstring>"; appRec.EnableAutoSignOn = false; appRec.LoginFields = null; BindingList<ActionRecord> list = new BindingList<ActionRecord>(); ActionRecord ar1 = new ActionRecord(); ar1.ActionID = 1; ar1.Name = "Default"; ar1.Initialization = @"<ActionInit/>"; list.Add(ar1); appRec.Actions = list; HatStandAloneStub stub = new HatStandAloneStub(appRec.ApplicationID, appRec.Name, appRec.Initialization); for (int i = 0; i < appRec.Actions.Count; i++) { stub.AddAction(appRec.Actions[i].ActionID, appRec.Actions[i].Name, appRec.Actions[i].Initialization); } HostingForm hostingForm = new HostingForm(); hostingForm.Name = "HatStandAloneTestAppStub"; hostingForm.Text = stub.ApplicationName; hostingForm.ControlBox = false; hostingForm.MaximizeBox = false; hostingForm.MinimizeBox = false; hostingForm.ShowInTaskbar = false; hostingForm.FormBorderStyle = FormBorderStyle.None; hostingForm.StartPosition = FormStartPosition.Manual; hostingForm.ClientSize = stub.OptimumSize; hostingForm.MinimumSize = stub.MinimumSize; hostingForm.Closed += delegate { stub.Close(); }; stub.TopLevelWindow.Parent = hostingForm; stub.TopLevelWindow.Dock = DockStyle.Fill; stub.Initialize(); return hostingForm; }