我在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