Windowsメッセージを介して通信しているC#の2つのアプリケーションがありますApp1:App2にメッセージを送信します
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:App1からメッセージを受信します
COPYDATASTRUCT sentPara = new COPYDATASTRUCT();
Type mytype = sentPara.GetType();
sentPara = (COPYDATASTRUCT)message.GetLParam(mytype);
string[] parameters = sentPara.lpData.Split(',');
問題: ユーザー名がロシア語で、App2で受け取ったときに疑問符「???????」が表示されました。これはバイト配列のエンコーディングにあると思いますが、解決方法がありません。