void OnClipboardHistoryChanged(object?sender, NewClipItemEventEventArgs e) { this.ClipboardRules = ClipboardRule.GetMatchingRules(e.ClipItem.Text).ToList(); if (e.ClipItem != ClipItem.Empty && e.ClipItem != e.PreviousClipItem) { this.ShowNotifications(); } this.DrawMenuItems(); }
public TaskbarApplication() { this.TrayIcon = new NotifyIcon() { Icon = mainIcon, Visible = true, ContextMenuStrip = new ContextMenuStrip(), Text = "Clipboard Manager", }; this.TrayIcon.ContextMenuStrip.RenderMode = ToolStripRenderMode.System; // add left click to the systray icon // source: https://stackoverflow.com/a/3581311/12008 this.TrayIcon.MouseClick += (sender, mouseEvent) => { if (mouseEvent.Button == MouseButtons.Left) { var methodInfo = typeof(NotifyIcon).GetMethod("ShowContextMenu", BindingFlags.Instance | BindingFlags.NonPublic); methodInfo?.Invoke(this.TrayIcon, null); } }; //KeyboardHook = new KeyboardHook(); //try //{ // KeyboardHook.RegisterHotkey(ModifierKeys.Win | ModifierKeys.Shift, Keys.C); //} //catch (Exception) //{ // //Trace.TraceWarning("Cannot register Win + Shift + C"); //} //try //{ // KeyboardHook.RegisterHotkey(ModifierKeys.Win | ModifierKeys.Shift, Keys.W); //} //catch (Exception) //{ // //Trace.TraceWarning("Cannot register Win + Shift + W"); //} //try //{ // KeyboardHook.RegisterHotkey(ModifierKeys.Win | ModifierKeys.Shift, Keys.X); //} //catch (Exception) //{ // //Trace.TraceWarning("Cannot register Win + Shift + X"); //} //try //{ // KeyboardHook.RegisterHotkey(ModifierKeys.Win | ModifierKeys.Shift, Keys.D); //} //catch (Exception) //{ // //Trace.TraceWarning("Cannot register Win + Shift + D"); //} //KeyboardHook.KeyPressed += KeyboardHook_KeyPressed; this.ClipboardHistory.OnHistoryChanged += this.OnClipboardHistoryChanged; this.ClipboardRules = ClipboardRule.GetMatchingRules(this.ClipboardHistory.CurrentClip.Text).ToList(); this.DrawMenuItems(); }