예제 #1
0
        static void Main()
        {
#if DEBUG
            Logging.Debug = true;
#endif
            Logging.Trace("HatStandAloneStub", "start");

            Application.Run(HatStandAloneStub.CreateInstance());

            Logging.Trace("HatStandAloneStub", "end");
        }
예제 #2
0
		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;
		}