public MainForm(bool silent, string command)
{
if (Conf.StartupForm != "iSpy")
{
SilentStartup = true;
}
SilentStartup = SilentStartup || silent || Conf.Enable_Password_Protect || Conf.StartupMode == 1;
//need to wrap initialize component
if (SilentStartup)
{
ShowInTaskbar = false;
ShowIcon = false;
WindowState = FormWindowState.Minimized;
}
else
{
switch (Conf.StartupMode)
{
case 0:
_mWindowState = new PersistWindowState {Parent = this, RegistryPath = @"Software\ispy\startup"};
break;
case 2:
WindowState = FormWindowState.Maximized;
break;
case 3:
WindowState = FormWindowState.Maximized;
FormBorderStyle = FormBorderStyle.None;
break;
}
}
InitializeComponent();
if (!SilentStartup)
{
if (Conf.StartupMode == 0)
_mWindowState = new PersistWindowState {Parent = this, RegistryPath = @"Software\ispy\startup"};
}
RenderResources();
_startCommand = command;
Windows7Renderer r = Windows7Renderer.Instance;
toolStripMenu.Renderer = r;
statusStrip1.Renderer = r;
_pnlCameras.BackColor = Conf.MainColor.ToColor();
RemoteManager = new McRemoteControlManager.RemoteControlDevice();
RemoteManager.ButtonPressed += RemoteManagerButtonPressed;
SetPriority();
Arrange(false);
_jst = new JoystickDevice();
bool jsactive = false;
string[] sticks = _jst.FindJoysticks();
foreach (string js in sticks)
{
string[] nameid = js.Split('|');
if (nameid[1] == Conf.Joystick.id)
{
Guid g = Guid.Parse(nameid[1]);
jsactive = _jst.AcquireJoystick(g);
}
}
if (!jsactive)
{
_jst.ReleaseJoystick();
_jst = null;
}
else
{
_tmrJoystick = new Timer(100);
_tmrJoystick.Elapsed += TmrJoystickElapsed;
_tmrJoystick.Start();
}
try
{
INetworkListManager mNlm = new NetworkListManager();
var icpc = (IConnectionPointContainer) mNlm;
//similar event subscription can be used for INetworkEvents and INetworkConnectionEvents
Guid tempGuid = typeof (INetworkListManagerEvents).GUID;
icpc.FindConnectionPoint(ref tempGuid, out _mIcp);
if (_mIcp != null)
{
_mIcp.Advise(this, out _mCookie);
}
}
catch (Exception)
{
_mIcp = null;
}
InstanceReference = this;
}