public Form1() { InitializeComponent(); hkRecorder = new HotKeyRecorder(); hkListener = new HotKeyListener(); kbHook = new ClientKeyboardHook(); kbHook.KeyDown += hkListener.KeyDownListen; kbHook.KeyUp += hkListener.KeyUpListen; //hkRecorder.HotKeyRecordedEvent += (HotKey hk) => //{ // hk.HotKeyHappened += hk_HotKeyEvent; // hkListener.Add(hk); // label1.Text += "HotKeyRegistered: " + hk.ToString() + "\n"; //}; hkRecorder.HotKeyRecorded += (object sender, HotKeyRecordedArgs e) => { e.hotKey.HotKeyHappened += hk_HotKeyEvent; if (hkListener.Add(e.hotKey)) { label1.Text += "HotKeyRegistered: " + e.hotKey.ToString() + "\n"; } else { label1.Text += e.hotKey.ToString() + " can't be registered\n"; } }; hkRecorder.KeyRecorded += (object sender, HotKeyRecordedArgs e) => { label2.Text = "Recording: " + e.hotKey.ToString(); }; }
/// <summary> /// Removes a HotKey from this item. /// </summary> /// <param name="listener">The listener to be removed.</param> public void RemoveHotKeyListener(HotKeyListener listener) { if (HotKeyPressed == null) { return; } EventDispatchThread.RemoveKeyListener(OnKeyPressed); HotKeyPressed -= listener; }
/// <summary> /// Adds a HotKey to this item. /// </summary> /// <param name="binder">The console key to be binded.</param> /// <param name="listener">The listener that registers the event.</param> public void AddHotKeyListener(ConsoleKey binder, HotKeyListener listener) { if (HotKeyPressed != null) { return; } EventDispatchThread.AddKeyListener(OnKeyPressed); Binder = binder; HotKeyPressed += listener; }
public MainWindow() { Instance = this; FFmpegService.FFmpegDownloader += () => { if (_downloader == null) { _downloader = new FFmpegDownloaderWindow(); _downloader.Closed += (sender, args) => _downloader = null; } _downloader.ShowAndFocus(); }; InitializeComponent(); if (DataContext is MainViewModel) { var mainModel = ServiceProvider.Get <MainModel>(); mainModel.Init(!App.CmdOptions.NoPersist, !App.CmdOptions.Reset, !App.CmdOptions.NoHotKeys); ServiceProvider.Get <HotKeyActionRegisterer>().Register(); ServiceProvider.Get <TimerModel>().Init(); var listener = new HotKeyListener(); var hotKeyManager = ServiceProvider.Get <HotKeyManager>(); listener.HotKeyReceived += id => hotKeyManager.ProcessHotKey(id); ServiceProvider.Get <HotKeyManager>().HotKeyPressed += service => { switch (service) { case ServiceName.OpenImageEditor: new ImageEditorWindow().ShowAndFocus(); break; case ServiceName.ShowMainWindow: this.ShowAndFocus(); break; } }; Loaded += (sender, args) => { RepositionWindowIfOutside(); mainModel.ViewLoaded(); }; } if (App.CmdOptions.Tray || ServiceProvider.Get <Settings>().Tray.MinToTrayOnStartup) { Hide(); } Closing += (sender, args) => { if (!TryExit()) { args.Cancel = true; } }; }