public void Initialize() { if (_isViewing) return; if (_target != null) { _target.AddHook(WinProc); // start processing window messages _hWndNextViewer = new ViewerSafeHandle( NativeMethods.SetClipboardViewer(_target.Handle), _target); // set this window as a viewer } _isViewing = true; }
private void CloseCbViewer() { if (!_isViewing) return; // remove this window from the clipboard viewer chain _hWndNextViewer.Dispose(); _hWndNextViewer = null; if (_target != null) _target.RemoveHook(WinProc); _isViewing = false; }