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(); } } }