public static CopyData CreateForString(int dwData, string value, bool unicode = true) { var result = new CopyData(); result.DwData = dwData; result.LpData = unicode ? Marshal.StringToCoTaskMemUni(value) : Marshal.StringToCoTaskMemAnsi(value); result.LpDataSize = unicode ? (value.Length + 1) * sizeof(char) : (value.Length + 1) * Marshal.SystemMaxDBCSCharSize; return(result); }
public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint msg, IntPtr wparam, ref CopyData lparam, SendMessageTimeoutFlags flags, uint timeout, out UIntPtr lpdwResult);
public static extern IntPtr SendMessage(IntPtr hwnd, uint msg, IntPtr wparam, ref CopyData lparam);