Exemple #1
0
        /// <summary>
        /// Handles WndProc clipboard message.
        /// </summary>
        /// <param name="sender">Message sender</param>
        /// <param name="e">WndProc message event arguments.</param>
        private void ClipboardMessage(object sender, WndProcMessageEventArgs e)
        {
            if (e.Message == WM_DRAWCLIPBOARD)
            {
                if (Changed != null)
                {
                    Changed(this, EventArgs.Empty);
                }

                if (_nextClipboardViewer != null)
                {
                    Helper.SentWindowProcesMessage(_nextClipboardViewer, e.Message, e.WParameter, e.LParameter);
                }
            }
            else if (e.Message == WM_CHANGECBCHAIN)
            {
                // Repair the chain
                if (e.WParameter == _nextClipboardViewer)
                {
                    _nextClipboardViewer = e.LParameter;
                }
                // Otherwise, pass the message to the next link.
                else if (_nextClipboardViewer != null)
                {
                    Helper.SentWindowProcesMessage(_nextClipboardViewer, e.Message, e.WParameter, e.LParameter);
                }
            }
        }
        /// <summary>
        /// Handles WndProc clipboard message.
        /// </summary>
        /// <param name="sender">Message sender</param>
        /// <param name="e">WndProc message event arguments.</param>
        private void ClipboardMessage(object sender, WndProcMessageEventArgs e)
        {
            if (e.Message == WM_DRAWCLIPBOARD)
            {
                if (Changed != null)
                {
                    Changed(this, EventArgs.Empty);
                }

                if (_nextClipboardViewer != null)
                {
                    Helper.SentWindowProcesMessage(_nextClipboardViewer, e.Message, e.WParameter, e.LParameter);
                }
            }
            else if (e.Message == WM_CHANGECBCHAIN)
            {
                // Repair the chain
                if (e.WParameter == _nextClipboardViewer)
                {
                    _nextClipboardViewer = e.LParameter;
                }
                // Otherwise, pass the message to the next link.
                else if (_nextClipboardViewer != null)
                {
                    Helper.SentWindowProcesMessage(_nextClipboardViewer, e.Message, e.WParameter, e.LParameter);
                }
            }
        }