Пример #1
0
        public static EventMessage GetFormMessage(Message m)
        {
            var data = string.Empty;

            try
            {
                switch (m.Msg)
                {
                case WM_DRAWCLIPBOARD:
                    //ClipBoardManager.PassMessage(this.Handle, m.Msg, m.WParam, m.LParam);
                    //显示剪贴板中的文本信息
                    if (Clipboard.ContainsText())
                    {
                        data = Clipboard.GetText();
                    }
                    break;

                case WM_COPYDATA:
                    COPYDATASTRUCT mystr  = new COPYDATASTRUCT();
                    Type           mytype = mystr.GetType();
                    mystr = (COPYDATASTRUCT)m.GetLParam(mytype);
                    data  = mystr.lpData;
                    break;
                }
            }
            catch (Exception ex)
            {
                FileManager.Loger.WriteLog("系统错误", ex);
            }
            if (string.IsNullOrEmpty(data))
            {
                return(null);
            }
            return(EventMessage.Parse(data));
        }