我在C#2级的应用程序,其经由窗口消息 App1的说话:将消息发送到应用2如何在windowsmessages上发送俄罗斯和阿拉伯字符?
string msg=UserName+","+UserAge;
byte[] sarr =System.Text.Encoding.Default.GetBytes(msg);//
int len = sarr.Length;
COPYDATASTRUCT cds;
cds.dwData = (IntPtr)100;
cds.lpData = msg;
cds.cbData = len + 1;
result = SendMessage(hWnd, WM_COPYDATA, wParam, ref cds);
App2的:从应用1
接收消息COPYDATASTRUCT sentPara = new COPYDATASTRUCT();
Type mytype = sentPara.GetType();
sentPara = (COPYDATASTRUCT)message.GetLParam(mytype);
string[] parameters = sentPara.lpData.Split(',');
问题: 的用户名是在俄罗斯,当我收到它在App2我有问号“???????”,我认为这是在字节数组的编码,但我不怎么解决它
你没有*做*任何与字节数组... – 2013-03-19 09:56:38
没有我发送它,因为它。我也尝试将默认值更改为UTF8,但我没有工作 – 2013-03-19 09:57:39
看看你正在设置'lpData' - 你将它设置为'msg',而不是'sarr'。您只使用字节数组来查找要设置的长度。 – 2013-03-19 09:59:13