public void RegisterKeys(KeyboardHook hook) { if (hook == null) throw new ArgumentNullException(nameof(hook)); _hook = hook; // TODO: Reflect service locator-y // TODO: Config based _hook.RegisterHotKey(ModifierKeys.Control | ModifierKeys.Shift, Keys.D1); _keyHandlers.Add(Keys.D1, new SingleMonitorHandler()); _hook.RegisterHotKey(ModifierKeys.Control | ModifierKeys.Shift, Keys.D2); _keyHandlers.Add(Keys.D2, new CurrentWindowHandler()); _hook.RegisterHotKey(ModifierKeys.Control | ModifierKeys.Shift, Keys.D3); _keyHandlers.Add(Keys.D3, new FullScreenHandler()); _hook.RegisterHotKey(ModifierKeys.Control | ModifierKeys.Shift, Keys.D4); _keyHandlers.Add(Keys.D4, new SelectedAreaHandler()); _hook.RegisterHotKey(ModifierKeys.Control | ModifierKeys.Shift, Keys.X); _keyHandlers.Add(Keys.X, new ExitKeyHandler()); }