public static unsafe string GetMessageString(COPYDATASTRUCT cds) { string msg = string.Empty; unsafe { char* x = (char*)cds.lpData.ToPointer(); for (int i = 0; i < cds.cbData; i++) { msg += *x; x++; } } return msg; }