public ExternalClipboardManager() { _thumbnails = new List<ClipboardThumbnailItem>(); _messageHook = GlobalMessageListener.Instance; _messageHook.ClipboardDataAdded += MessageHookClipboardDataAdded; _messageHook.ClipboardDataRemoved += MessageHookClipboardDataRemoved; _messageHook.ClipboardDataSelected += MessageHookClipboardDataSelected; _messageHook.ClipboardDataSwapped += MessageHookClipboardDataSwapped; }
protected override void OnSourceInitialized(EventArgs e) { base.OnSourceInitialized(e); var helper = new WindowInteropHelper(this); _windowHandle = helper.Handle; //install clipboard hooks _messageHook = GlobalMessageListener.Instance; _messageHook.ClipboardDataAdded += MessageHookClipboardDataAdded; _messageHook.ClipboardDataRemoved += MessageHookClipboardDataRemoved; _messageHook.ClipboardDataSelected += MessageHookClipboardDataSelected; _messageHook.ClipboardDataSwapped += MessageHookClipboardDataSwapped; //install keyboard hooks _keyboardHook = new KeyboardListener(); _keyboardHook.KeyDown += KeyboardHookKeyDown; _keyboardHook.KeyUp += KeyboardHookKeyUp; //not activatable //int exStyle = GetWindowLong(_windowHandle, GWL_EXSTYLE); //SetWindowLong(_windowHandle, GWL_EXSTYLE, exStyle | WS_EX_NOACTIVATE); RepositionWindow(); Show(); Activate(); Focus(); }