/// <summary> /// Start the IR Server plugin. /// </summary> /// <returns><c>true</c> if successful, otherwise <c>false</c>.</returns> public override void Start() { #if TRACE Trace.WriteLine("Start MicrosoftMceTransceiver"); #endif if (_driver != null) { throw new InvalidOperationException("MicrosoftMceTransceiver already started"); } _config = new Config(); ConfigManagement.LoadSettings(ref _config); // Put this in a try...catch so that if the registry keys don't exist we don't throw an ugly exception. try { _ignoreAutomaticButtons = CheckAutomaticButtons(); } catch { _ignoreAutomaticButtons = false; } if (_config._disableMceServices) { DisableMceServices(); } Guid deviceGuid; string devicePath; Driver newDriver = null; if (FindDevice(out deviceGuid, out devicePath)) { if (deviceGuid == MicrosoftGuid) { if (Environment.OSVersion.Version.Major >= VistaVersionNumber) { newDriver = new DriverVista(deviceGuid, devicePath, RemoteEvent, KeyboardEvent, MouseEvent); } else { newDriver = new DriverXP(deviceGuid, devicePath, RemoteEvent, KeyboardEvent, MouseEvent); } } else { newDriver = new DriverReplacement(deviceGuid, devicePath, RemoteEvent, KeyboardEvent, MouseEvent); } } else { throw new InvalidOperationException("Device not found"); } newDriver.Start(); _driver = newDriver; }
/// <summary> /// Start the IR Server plugin. /// </summary> /// <returns><c>true</c> if successful, otherwise <c>false</c>.</returns> public override void Start() { #if TRACE Trace.WriteLine("Start MicrosoftMceTransceiver"); #endif if (_driver != null) throw new InvalidOperationException("MicrosoftMceTransceiver already started"); _config = new Config(); ConfigManagement.LoadSettings(ref _config); // Put this in a try...catch so that if the registry keys don't exist we don't throw an ugly exception. try { _ignoreAutomaticButtons = CheckAutomaticButtons(); } catch { _ignoreAutomaticButtons = false; } if (_config._disableMceServices) DisableMceServices(); Guid deviceGuid; string devicePath; Driver newDriver = null; if (FindDevice(out deviceGuid, out devicePath)) { if (deviceGuid == MicrosoftGuid) { if (Environment.OSVersion.Version.Major >= VistaVersionNumber) newDriver = new DriverVista(deviceGuid, devicePath, RemoteEvent, KeyboardEvent, MouseEvent); else newDriver = new DriverXP(deviceGuid, devicePath, RemoteEvent, KeyboardEvent, MouseEvent); } else { newDriver = new DriverReplacement(deviceGuid, devicePath, RemoteEvent, KeyboardEvent, MouseEvent); } } else { throw new InvalidOperationException("Device not found"); } newDriver.Start(); _driver = newDriver; }