示例#1
0
        void OnWmCopyData(ref Message m)
        {
            var cbd = OSHelper.IntPtrToStruct <COPYDATASTRUCT>(m.LParam);

            if (cbd.dwData.ToInt64() == Program.OPEN_FILES_MESSAGE)
            {
                var buffer = OSHelper.GetBuffer(cbd.lpData, cbd.cbData);
                if (!buffer.IsNullOrEmpty())
                {
                    var str   = Encoding.UTF8.GetString(buffer);
                    var files = str.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                    OpenDocuments(files);
                    m.Result = new IntPtr(1);

                    if (this.WindowState == FormWindowState.Minimized)
                    {
                        this.WindowState = FormWindowState.Normal;
                    }
                    this.Activate();
                }
            }
        }