예제 #1
0
        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;
        }
예제 #2
0
        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;
        }