C# 如何使SendMessage用传送多个参数值?
答案:3 悬赏:10 手机版
解决时间 2021-01-15 03:09
- 提问者网友:记得曾经
- 2021-01-14 11:39
C# 如何使SendMessage用传送多个参数值?
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-01-14 12:08
三个的话是比较麻烦,两个的话还可以
SendMessage(WINDOW_HANDLER, WM_COPYDATA, ref cds, ref cds);// 后面两个参数都可以使用来附带内容。
三个的话,只能是在你的消息结构体public struct COPYDATASTRUCT 再添加几个字段来存储其他的text
SendMessage(WINDOW_HANDLER, WM_COPYDATA, ref cds, ref cds);// 后面两个参数都可以使用来附带内容。
三个的话,只能是在你的消息结构体public struct COPYDATASTRUCT 再添加几个字段来存储其他的text
全部回答
- 1楼网友:第幾種人
- 2021-01-14 15:04
struct StringAry
{
public string a;
public string b;
public string c;
}
[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hwnd,int b,int c,ref StringAry strary)
{
public string a;
public string b;
public string c;
}
[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hwnd,int b,int c,ref StringAry strary)
- 2楼网友:洎扰庸人
- 2021-01-14 13:43
可以把三个textbox的值使用分隔符合并到一起,在接收窗体拆分,如:
byte[] sarr = System.Text.Encoding.Default.GetBytes(this.textBox1.Text +","+this.textBox2.Text +","+this.textBox3.Text );
接收窗体中把接收的值(假设变量为a)按“,”拆分
string[] aa = a.split(',');
aa就是长度为3的数组了,
aa[0] 代表textbox1的值,aa[1] 代表textbox2的值,aa[2] 代表textbox3的值
byte[] sarr = System.Text.Encoding.Default.GetBytes(this.textBox1.Text +","+this.textBox2.Text +","+this.textBox3.Text );
接收窗体中把接收的值(假设变量为a)按“,”拆分
string[] aa = a.split(',');
aa就是长度为3的数组了,
aa[0] 代表textbox1的值,aa[1] 代表textbox2的值,aa[2] 代表textbox3的值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯