internal MasterViewModel([NotNull] SkSettings settings, IntPtr hWnd, IntPtr?slaveIntPtr) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } _masterProcessor = new MasterProcessor(hWnd, settings, slaveIntPtr); _masterProcessor.ScreenCapture += MasterProcessorOnScreenCapture; _masterProcessor.Report += MasterProcessorOnReport; }
internal MasterProcessor(IntPtr hWnd, [NotNull] SkSettings settings, IntPtr?_slaveIntPtr) { _hWnd = hWnd; _settings = settings ?? throw new ArgumentNullException(nameof(settings)); this._slaveIntPtr = _slaveIntPtr; _timer.Interval = TimeSpan.FromSeconds(30).TotalMilliseconds; _timer.Elapsed += (sender, args) => { _timer.Stop(); WindowCommandHelper.PressKey(_hWnd, WindowCommandHelper.KeyCodes.F6); }; _timer.AutoReset = false; }