|
If you would like to speak with one of our engineers, please Submit a Question or give us a call at the phone number here. In North America, To route your phone support request directly to a technical support engineer, call toll-free 1-888-382-1583 or 1-440-646-3434, select Option 3 (Technical Support), then select Option 5 (More Options). When prompted, enter the ThinManager Direct Dial Code 201. |
TermMon Demo Program Source
Jump to navigation
Jump to search
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Reflection;
using System.Diagnostics;
namespace TermMon_Demo
{
public enum CommandConst
{
TermSecureCheckAccess = -2,
ChangeTerminalServerGroup = -1,
}
public partial class Form1 : Form
{
String[] args = Environment.GetCommandLineArgs().Select(s => s.ToLowerInvariant()).ToArray();
String[] HelpList = { "-h", "/h", "-?", "/?", "help", "-help", "/help" };
String[] CommandList = { "reboot", "restart", "calibrate", "gotomainmenu", "switchtonextgroup", "switchtoprevgroup", "switchinstfailover", "changetermsecureuser", "logoffandchangetermsecureuser", "logofftermsecureuser", "disconnecttermsecureuser" };
int CommandCount = 0;
string path = "", textOut = Environment.NewLine;
bool gui = true;
public Form1()
{
InitializeComponent();
if (args.Length > 1) gui = false;
if (gui)
{
// Enable the OverrideIP and Demo Control setions
EnableControl(true);
ChangeEnabled(false);
// Set the connection state display to disconnected
textBoxConnectionState.Text = "Disconnected";
textBoxConnectionState.BackColor = System.Drawing.Color.LightGray;
// Get and display prigram version info
Assembly a = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(a.Location);
labelVersion.Text = "Version " + fvi.ProductVersion;
}
else
{
CommandCount = args.Length - 1;
ParseArgs();
axTermMon.Enable();
timerConnectionTimeout.Enabled = true;
timerRuntime.Enabled = true;
}
}
// Parse any command line arguments.
private void ParseArgs()
{
for (int i = 0; i < args.Length; i++)
{
if (CheckValidIP(args[i]))
{
axTermMon.RunInSession = false;
axTermMon.OverrideIP = args[i];
CommandCount--;
}
if (args[i].EndsWith(".txt"))
{
path = args[i];
CommandCount--;
}
}
if (args.Intersect(HelpList).Count() > 0) Help();
}
private void Help()
{
textOut = Environment.NewLine + "Usage:" + Environment.NewLine + Environment.NewLine
+ "TermMon.exe [IPv4 Address (optional)] [Filename and Path (optional)] [Commands]" + Environment.NewLine + Environment.NewLine
+ "Local Example: TermMon.exe TerminalName TerminalMAC"+ Environment.NewLine
+ "Remote Example: TermMon.exe xxx.xxx.xxx.xxx C:\termmon.txt TerminalName TerminalMAC" + Environment.NewLine + Environment.NewLine
+ "Arguments, Information:" + Environment.NewLine
+ "\tConnectionState" + Environment.NewLine
+ "\tTerminalName" + Environment.NewLine
+ "\tTerminalIP" + Environment.NewLine
+ "\tTerminalMAC" + Environment.NewLine
+ "\tTerminalModel" + Environment.NewLine
+ "\tTerminalFirmwareVersion" + Environment.NewLine
+ "\tTerminalBootloaderVersion" + Environment.NewLine
+ "\tTerminalWindowsUsername" + Environment.NewLine
+ "\tTerminalServerGroupList" + Environment.NewLine
+ "\tCurrentTerminalServerGroup" + Environment.NewLine
+ "\tCurrentWindowsUsername" + Environment.NewLine
+ "\tUserID" + Environment.NewLine
+ "\tTermSecureUsername" + Environment.NewLine
+ "\tTermSecureWindowsUsername" + Environment.NewLine
+ "\tWatchdogTime" + Environment.NewLine
+ "Arguments, Commands" + Environment.NewLine
+ "\tReboot" + Environment.NewLine
+ "\tRestart" + Environment.NewLine
+ "\tCalibrate" + Environment.NewLine
+ "\tGoToMainMenu" + Environment.NewLine
+ "\tSwitchToNextGroup" + Environment.NewLine
+ "\tSwitchToPrevGroup" + Environment.NewLine
+ "\tSwitchInstFailover" + Environment.NewLine
+ "\tChangeTermSecureUser" + Environment.NewLine
+ "\tLogOffAndChangeTermSecureUser" + Environment.NewLine
+ "\tLogOffTermSucureUser" + Environment.NewLine
+ "\tDisconnectTermSecureUser" + Environment.NewLine
+ "\tChangeTerminalServerGroup" + Environment.NewLine
+ "\tTermSecureCheckAccess" + Environment.NewLine;
Exit();
}
// Enable 3 second timer after the demo has been enabled.
// This provides a timeout in case it can't conenct to the control.
private void WaitForConnection()
{
timerWaitForConnection.Enabled = true;
}
// Enables/disables the OverrideIP and demo control sections.
private void EnableControl(bool enabled)
{
groupBoxDemoControl.Enabled = enabled;
groupBoxOverrideIP.Enabled = enabled;
}
// Enables/disables all other sections.
// These sections are only available when connected to the control
private void ChangeEnabled(bool enabled)
{
groupBoxTerminalInfo.Enabled = enabled;
groupBoxTerminalControl.Enabled = enabled;
groupBoxSessionControl.Enabled = enabled;
groupBoxNavigation.Enabled = enabled;
groupBoxGetDisplayClientScreen.Enabled = enabled;
groupBoxTermSecure.Enabled = enabled;
groupBoxCameraOverlay.Enabled = enabled;
groupBoxActiveScreen.Enabled = enabled;
groupBoxLocation.Enabled = enabled;
groupBoxWatchdog.Enabled = enabled;
groupBoxBiometric.Enabled = enabled;
buttonEnable.Enabled = !enabled;
buttonDisable.Enabled = enabled;
}
// Checks that the IP address in the OverrideIP section is a valid format
private bool CheckValidIP(string IPAddress)
{
System.Net.IPAddress address;
if (System.Net.IPAddress.TryParse(IPAddress, out address))
{
if (address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) return true;
}
if (gui) MessageBox.Show("Please use a valid (xxx.xxx.xxx.xxx) IPv4 address");
return false;
}
// returns the corresponding string for a result code.
private string ResultLookup(int res)
{
switch(res)
{
case (short)TERMMONLib.TermMonConst.Busy:
return "Busy";
case (short)TERMMONLib.TermMonConst.Connected:
return "Connected";
case (short)TERMMONLib.TermMonConst.Disconnected:
return "Disconnected";
case (short)TERMMONLib.TermMonConst.Fail:
return "Failed";
case (short)TERMMONLib.TermMonConst.GroupNotFound:
return "Group Not Found";
case (short)TERMMONLib.TermMonConst.InvalidMember:
return "Invalid Member";
case (short)TERMMONLib.TermMonConst.RequestFailed:
return "Request Failed";
case (short)TERMMONLib.TermMonConst.Success:
return "Success";
case (short)TERMMONLib.TermMonConst.Timeout:
return "Timeout";
case (short)TERMMONLib.TermMonConst.Updating:
return "Updating";
case (short)TERMMONLib.TermMonConst.UserNotFound:
return "User Not Found";
case (short)TERMMONLib.TermMonConst.ValidMember:
return "Valid Member";
case (short)TERMMONLib.TermMonConst.BadPassword:
return "Bad Password";
case (short)TERMMONLib.TermMonConst.NoPermission:
return "No Permission";
case (short)TERMMONLib.TermMonConst.NoWindowsPassword:
return "No Windows Password";
case (short)TERMMONLib.TermMonConst.NoWindowsUsername:
return "No Windows Username";
case (short)TERMMONLib.TermMonConst.PasswordChangeReq:
return "Password Change Required";
default:
return "Error: Other";
}
}
// 3 second timer for connection timeout.
private void timerWaitForConnection_Tick(object sender, EventArgs e)
{
axTermMon.Disable();
timerWaitForConnection.Enabled = false;
string message = "";
string location = "this terminal";
if (axTermMon.RunInSession == false)
{
location = axTermMon.OverrideIP;
message = "\n- Is 'Only allow connections from session' set to 'NO' in the module?";
}
message = "The demo application could not connect to the ActiveX control on " + location + "\n\n- Check that TermMon.ocx is registered on the terminal server.\n- Check that the terminal has the TermMon ActiveX module" + message;
int res = (int)MessageBox.Show(message, "TermMon ActiveX Demo", MessageBoxButtons.RetryCancel, MessageBoxIcon.Asterisk);
if (res == 4)
{
WaitForConnection();
}
else
{
EnableControl(true);
}
}
private void timerConnectionTimeout_Tick(object sender, EventArgs e)
{
Console.WriteLine("Connection Failed");
Application.Exit();
}
private void timerRuntime_Tick(object sender, EventArgs e)
{
Console.WriteLine("Failed to complete all commands");
Application.Exit();
}
private void timerRunCommands_Tick(object sender, EventArgs e)
{
timerRunCommands.Enabled = false;
ProcessCommands();
}
private void ProcessCommands()
{
var Commands = args.Intersect(CommandList);
foreach (string command in Commands)
{
axTermMon.Command(GetCommandCode(command));
if (--CommandCount == 0)
{
Application.Exit();
}
}
ProcessSpecial();
}
private void ProcessSpecial()
{
string[] Special = { "changeterminalservergroup", "termsecurecheckaccess" };
string data = "";
var Commands = args.Intersect(Special);
foreach (string command in Commands)
{
CommandCount--;
int i = Array.IndexOf(args, command);
if (i < args.Length - 1 && i != -1) data = args[i + 1].ToLower();
else
{
Console.WriteLine("That command requires data. Command Data");
break;
}
if (String.Compare(command, "termsecurecheckaccess") == 0)
{
string[] TSdata = data.Split(',');
if (TSdata.Length == 2)
{
Console.WriteLine(ResultLookup(axTermMon.TermSecureCheckAccess(TSdata[0], TSdata[1])));
}
else
{
Console.WriteLine("Use 'username,group' to check TermSecure access");
}
}
else
{
axTermMon.ChangeTerminalServerGroup(data);
}
}
if (CommandCount == 0) Application.Exit();
}
private short GetCommandCode(string command)
{
switch (command)
{
case "reboot":
return (short)TERMMONLib.TermMonCommand.Reboot;
case "restart":
return (short)TERMMONLib.TermMonCommand.Restart;
case "calibrate":
return (short)TERMMONLib.TermMonCommand.Calibrate;
case "gotomainmenu":
return (short)TERMMONLib.TermMonCommand.GotoMainMenu;
case "swtichtonextgroup":
return (short)TERMMONLib.TermMonCommand.SwitchToNextGroup;
case "switchtopreviousgroup":
return (short)TERMMONLib.TermMonCommand.SwitchToPrevGroup;
case "switchinstantfailover":
return (short)TERMMONLib.TermMonCommand.SwitchInstFailover;
case "changetermsecureuser":
return (short)TERMMONLib.TermMonCommand.ChangeTermSecureUser;
case "loggoffandchangetermsecureuser":
return (short)TERMMONLib.TermMonCommand.LogOffAndChangeTermSecureUser;
case "logofftermsecureuser":
return (short)TERMMONLib.TermMonCommand.LogOffTermSecureUser;
case "disconnecttermsecureuser":
return (short)TERMMONLib.TermMonCommand.DisconnectTermSecureUser;
default:
return 0;
}
}
public string ConvertStringToHex(string asciiString)
{
string hex = "";
foreach (char c in asciiString)
{
hex += String.Format("{0:x2} ", Convert.ToString(c, 16));
}
return hex;
}
// Updates demo fields when an event occurs
private void axTermMon_OnEvent(object sender, AxTERMMONLib._DTermMonEvents_OnEventEvent e)
{
switch (e.eventCode)
{
case (short)TERMMONLib.TermMonEvent.ConnectionState:
if (gui)
{
if (axTermMon.ConnectionState == (short)TERMMONLib.TermMonConst.Connected)
{
textBoxConnectionState.Text = "Connected";
textBoxConnectionState.BackColor = System.Drawing.Color.Lime;
timerWaitForConnection.Enabled = false;
// Enable all sections of the demo
ChangeEnabled(true);
// disable the [[watchdog]] controls if not running on the client
if (checkBoxRunInNonSession.Checked)
{
groupBoxWatchdog.Enabled = false;
groupBoxSessionControl.Enabled = false;
}
}
else if (axTermMon.ConnectionState == (short)TERMMONLib.TermMonConst.Disconnected)
{
textBoxConnectionState.Text = "Disconnected";
textBoxConnectionState.BackColor = System.Drawing.Color.LightGray;
ChangeEnabled(false);
}
else if (axTermMon.ConnectionState == (short)TERMMONLib.TermMonConst.Fail)
{
textBoxConnectionState.Text = "Failed";
textBoxConnectionState.BackColor = System.Drawing.Color.Red;
ChangeEnabled(false);
}
}
else
{
timerConnectionTimeout.Enabled = false;
timerRunCommands.Enabled = true;
if (args.Contains("ConnectionState"))
{
textOut = textOut + "Connection State: " + "Connected" + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalName:
if (gui) textBoxName.Text = axTermMon.TerminalName;
else
{
if (args.Contains("terminalname"))
{
textOut = textOut + "Terminal Name: " + axTermMon.TerminalName + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalIP:
if (gui) textBoxIPAddress.Text = axTermMon.TerminalIP;
else
{
if (args.Contains("terminalip"))
{
textOut = textOut + "Terminal IP: " + axTermMon.TerminalIP + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalMAC:
if (gui) textBoxMACAddress.Text = axTermMon.TerminalMAC;
else
{
if (args.Contains("terminalmac"))
{
textOut = textOut + "Terminal MAC: " + axTermMon.TerminalMAC + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalFirmwareVersion:
if (gui) textBoxFirmwareVersion.Text = axTermMon.TerminalFirmwareVersion;
else
{
if (args.Contains("terminalfirmwareversion"))
{
textOut = textOut + "Terminal Firmware Version: " + axTermMon.TerminalFirmwareVersion + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalBootLoaderVersion:
if (gui) textBoxBootRomVersion.Text = axTermMon.TerminalBootLoaderVersion;
else
{
if (args.Contains("terminalbootloaderversion"))
{
textOut = textOut + "Terminal Boot Loader Version: " + axTermMon.TerminalBootLoaderVersion + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalModel:
if (gui) textBoxModel.Text = axTermMon.TerminalModel;
else
{
if (args.Contains("terminalmodel"))
{
textOut = textOut + "Terminal Model: " + axTermMon.TerminalModel + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalWindowsUsername:
if (gui) textBoxTermWinUsername.Text = axTermMon.TerminalWindowsUsername;
else
{
if (args.Contains("terminalwindowsusername"))
{
textOut = textOut + "Windows Username: " + axTermMon.TerminalWindowsUsername + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalServerGroupList:
if (gui) textBoxTSGroupList.Text = axTermMon.TerminalServerGroupList;
else
{
if (args.Contains("TerminalServerGroupList"))
{
textOut = textOut + "[[Display Clients]]: " + axTermMon.TerminalServerGroupList + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.CurrentTerminalServerGroup:
if (gui) textBoxCurrentTSGroup.Text = axTermMon.CurrentTerminalServerGroup;
else
{
if (args.Contains("CurrentTerminalServerGroup"))
{
textOut = textOut + "Current [[Display Client]]: " + axTermMon.CurrentTerminalServerGroup + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.CurrentWindowsUsername:
if (gui) textBoxSessionWinUsername.Text = axTermMon.CurrentWindowsUsername;
else
{
if (args.Contains("CurrentWindowsUsername"))
{
textOut = textOut + "Current Windows Username: " + axTermMon.CurrentWindowsUsername + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TerminalServerName:
if (gui) textBoxTermServerName.Text = axTermMon.TerminalServerName;
else
{
if (args.Contains("TerminalServerName"))
{
textOut = textOut + "Terminal Server: " + axTermMon.TerminalServerName + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.UserID:
if (gui) textBoxTSUserID.Text = axTermMon.UserID;
else
{
if (args.Contains("UserID"))
{
textOut = textOut + "User ID: " + axTermMon.UserID + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TermSecureUsername:
if (gui) textBoxTSUsername.Text = axTermMon.TermSecureUsername;
else
{
if (args.Contains("TermSecureUsername"))
{
textOut = textOut + "TermSecure Username: " + axTermMon.TermSecureUsername + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.TermSecureWindowsUsername:
if (gui) textBoxTSWinUsername.Text = axTermMon.TermSecureWindowsUsername;
else
{
if (args.Contains("TermSecureWindowsUsername"))
{
textOut = textOut + "TermSecure Windows Username: " + axTermMon.TermSecureWindowsUsername + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.RelevanceLocationName:
if (gui) textBoxLocationName.Text = axTermMon.RelevanceLocationName;
else
{
if (args.Contains("RelevanceLocationName"))
{
textOut = textOut + "Location Name: " + axTermMon.RelevanceLocationName + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.ScanResult:
if (gui) textBoxScanResponse.Text = axTermMon.ScanResult;
else
{
if (args.Contains("ScanResult"))
{
textOut = textOut + "Scan Result: " + axTermMon.ScanResult + Environment.NewLine;
CommandCount--;
}
}
break;
case (short)TERMMONLib.TermMonEvent.BiometricData:
textBoxBiometricData.Text = ConvertStringToHex(axTermMon.BiometricData);
labelBiometricCount.Text = Convert.ToString(Convert.ToInt32(labelBiometricCount.Text) + 1);
break;
case (short)TERMMONLib.TermMonEvent.BiometricLookupResult:
textBoxBiometricResult.Text = ResultLookup(axTermMon.BiometricLookupResult);
break;
case (short)TERMMONLib.TermMonEvent.BiometricLookupUsername:
textBoxBiometricUsername.Text = axTermMon.BiometricLookupUsername;
break;
case (short)TERMMONLib.TermMonEvent.WatchdogTime:
if (gui) labelWatchdogCount.Text = axTermMon.WatchdogTime.ToString();
else
{
if (args.Contains("WatchdogTime"))
{
textOut = textOut + "[[Watchdog]] Time: " + axTermMon.WatchdogTime.ToString() + Environment.NewLine;
CommandCount--;
}
}
break;
default:
break;
}
if (CommandCount == 0 && !gui) Exit();
}
private void Exit()
{
Console.WriteLine(textOut);
if (path.Length > 0)
{
textOut = Environment.NewLine + DateTime.Now.ToString() + Environment.NewLine + textOut;
if (!File.Exists(path))
{
// Create a file to write to if it doesn't already exist.
File.WriteAllText(path, textOut);
}
else
{
// Add to existing file
File.AppendAllText(path, textOut);
}
}
System.Environment.Exit(0);
}
// (All functions below) Handles button and check box clicks.
private void buttonCalibrate_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.Calibrate);
}
private void buttonReboot_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.Reboot);
}
private void buttonRestart_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.Restart);
}
private void buttonDisconnect_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.DisconnectSession);
}
private void buttonLogoff_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.LogOffSession);
}
private void buttonPrevious_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.SwitchToPrevGroup);
}
private void buttonNext_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.SwitchToNextGroup);
}
private void buttonStartTiling_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.TileStart);
}
private void buttonStopTiling_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.TileEnd);
}
private void buttonMainMenu_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.GotoMainMenu);
}
private void buttonInstantFailover_Click(object sender, EventArgs e)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.SwitchInstFailover);
}
private void buttonGoToDisplayClient_Click(object sender, EventArgs e)
{
axTermMon.ChangeTerminalServerGroup(textBoxDisplayClientName.Text);
}
private void buttonGetScreen_Click(object sender, EventArgs e)
{
textBoxScreenNumber.Text = "";
textBoxScreenNumber.Text = axTermMon.GetGroupScreen(textBoxGetDisplayClientName.Text).ToString();
}
private void buttonTSLogOn_Click(object sender, EventArgs e)
{
if (checkBoxTSLogOffUserSessions.Checked)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.LogOffAndChangeTermSecureUser);
}
else
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.ChangeTermSecureUser);
}
}
private void buttonTSLogOff_Click(object sender, EventArgs e)
{
if (checkBoxTSLogOffUserSessions.Checked)
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.LogOffTermSecureUser);
}
else
{
axTermMon.Command((short)TERMMONLib.TermMonCommand.DisconnectTermSecureUser);
}
}
private void buttonTSCheckAccess_Click(object sender, EventArgs e)
{
textBoxTSCheckAccessResponse.Text = "Updating...";
textBoxTSCheckAccessResponse.Text = ResultLookup(axTermMon.TermSecureCheckAccess(textBoxTSCheckAccessUsername.Text, textBoxTSCheckAccessGroup.Text));
}
private void buttonTSLogOnUser_Click(object sender, EventArgs e)
{
textBoxTSLogOnResponse.Text = "Updating...";
textBoxTSLogOnResponse.Text = ResultLookup(axTermMon.TermSecureLogonUser(textBoxTSLogOnUsername.Text, textBoxTSLogOnPassword.Text));
}
private void buttonCamEnable_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlayEnable(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamDisable_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlayDisable(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamCycleStart_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlayCycleStart(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamCycleStop_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlayCycleStop(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamPrevious_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlaySwitchPrev(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamNext_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlaySwitchNext(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamSwitchByName_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlaySwitchByName(textBoxCamGroupName.Text, textBoxCamOverlayName.Text, textBoxCamName.Text);
}
private void buttonCamEnterFullscreen_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlayFullscreenEnter(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamExitFullscreen_Click(object sender, EventArgs e)
{
axTermMon.CameraOverlayFullscreenExit(textBoxCamGroupName.Text, textBoxCamOverlayName.Text);
}
private void buttonCamMove_Click(object sender, EventArgs e)
{
if (textBoxCamX.Text.Length == 0) textBoxCamX.Text = "100";
if (textBoxCamY.Text.Length == 0) textBoxCamY.Text = "100";
axTermMon.CameraOverlayMove(textBoxCamGroupName.Text, textBoxCamOverlayName.Text, short.Parse(textBoxCamX.Text), short.Parse(textBoxCamY.Text));
}
private void buttonCamResize_Click(object sender, EventArgs e)
{
if (textBoxCamW.Text.Length == 0) textBoxCamW.Text = "100";
if (textBoxCamH.Text.Length == 0) textBoxCamH.Text = "100";
axTermMon.CameraOverlayResize(textBoxCamGroupName.Text, textBoxCamOverlayName.Text, short.Parse(textBoxCamW.Text), short.Parse(textBoxCamH.Text));
}
private void buttonCamMoveResize_Click(object sender, EventArgs e)
{
if (textBoxCamX.Text.Length == 0) textBoxCamX.Text = "100";
if (textBoxCamY.Text.Length == 0) textBoxCamY.Text = "100";
if (textBoxCamW.Text.Length == 0) textBoxCamW.Text = "100";
if (textBoxCamH.Text.Length == 0) textBoxCamH.Text = "100";
axTermMon.CameraOverlayResizeMove(textBoxCamGroupName.Text, textBoxCamOverlayName.Text, short.Parse(textBoxCamX.Text), short.Parse(textBoxCamY.Text), short.Parse(textBoxCamW.Text), short.Parse(textBoxCamH.Text));
}
private void buttonEnable_Click(object sender, EventArgs e)
{
axTermMon.RunInSession = true;
if (checkBoxRunInNonSession.Checked)
{
axTermMon.RunInSession = false;
if (CheckValidIP(textBoxOverrideIPAddress.Text))
{
axTermMon.OverrideIP = textBoxOverrideIPAddress.Text;
}
else
{
return;
}
}
axTermMon.Enable();
WaitForConnection();
}
private void buttonDisable_Click(object sender, EventArgs e)
{
short res = axTermMon.Disable();
if (res == (short)TERMMONLib.TermMonConst.Fail)
{
MessageBox.Show("Not Enabled");
}
}
private void buttonSetActiveScreen_Click(object sender, EventArgs e)
{
// Checks to make sure the screen number given is valid. 0 through 5.
short i = -1;
if (textBoxSetActiveScreen.Text.Length > 0) i = short.Parse(textBoxSetActiveScreen.Text);
if (i >= 0 && i < 6)
{
axTermMon.ActiveScreen = i;
}
else
{
MessageBox.Show("To set active screen use 0 through 5");
}
}
private void buttonWatchdogSet_Click(object sender, EventArgs e)
{
// checks to make sure the [[watchdog]] time given is valid.
if (short.Parse(textBoxWatchdogSeconds.Text) > 32767)
{
textBoxWatchdogSeconds.Text = "32767";
}
labelWatchdogCount.Text = textBoxWatchdogSeconds.Text;
axTermMon.WatchdogTime = short.Parse(textBoxWatchdogSeconds.Text);
}
private void checkBoxTSDisconnectUserSessions_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxTSDisconnectUserSessions.Checked)
{
checkBoxTSLogOffUserSessions.Checked = false;
}
else
{
checkBoxTSLogOffUserSessions.Checked = true;
}
}
private void checkBoxTSLogOffUserSessions_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxTSLogOffUserSessions.Checked)
{
checkBoxTSDisconnectUserSessions.Checked = false;
}
else
{
checkBoxTSDisconnectUserSessions.Checked = true;
}
}
private void buttonScanQuery_Click(object sender, EventArgs e)
{
short i;
textBoxScanResponse.Text = "Requesting Scan...";
textBoxScanResponse.Update();
i = axTermMon.Command((short)TERMMONLib.TermMonCommand.ScanCodeAndQueryLocation);
if (i != (short)TERMMONLib.TermMonConst.Success)
textBoxScanResponse.Text = "Request Failed";
}
private void buttonLocLogon_Click(object sender, EventArgs e)
{
short i;
if (comboLocAction.Text == "transfer")
i = (short)TERMMONLib.TermMonRelevance.ActionTransfer;
else if (comboLocAction.Text == "clone")
i = (short )TERMMONLib.TermMonRelevance.ActionClone;
else if (comboLocAction.Text == "shadow")
i = (short)TERMMONLib.TermMonRelevance.ActionShadow;
else
i = (short)TERMMONLib.TermMonRelevance.ActionNone;
textBoxScanResponse.Text = "Requesting Logon...";
textBoxScanResponse.Update();
textBoxScanResponse.Text = ResultLookup(axTermMon.RelevanceLocationLogon(textBoxLocPathName.Text, i, 1));
}
private void buttonScanData_Click(object sender, EventArgs e)
{
short i;
textBoxScanResponse.Text = "Requesting Scan...";
textBoxScanResponse.Update();
i = axTermMon.Command((short)TERMMONLib.TermMonCommand.ScanCodeReturnData);
if (i != (short)TERMMONLib.TermMonConst.Success)
textBoxScanResponse.Text = "Request Failed";
}
private void buttonLocLogoff_Click(object sender, EventArgs e)
{
textBoxScanResponse.Text = "Requesting Logoff...";
textBoxScanResponse.Update();
textBoxScanResponse.Text = ResultLookup(axTermMon.RelevanceLocationLogoff(1));
}
private void buttonBiometricScanAndQuery_Click(object sender, EventArgs e)
{
short i;
textBoxBiometricResult.Text = "Requesting Scan...";
textBoxBiometricUsername.Text = "";
i = axTermMon.Command((short)TERMMONLib.TermMonCommand.ScanBiometricAndQueryUser);
if (i != (short)TERMMONLib.TermMonConst.Success)
textBoxBiometricResult.Text = "Request Failed";
}
}
}