中易网

C# sendmessage的用法

答案:4  悬赏:50  
解决时间 2021-01-18 08:24
  • 提问者网友:謫仙
  • 2021-01-17 22:13
C# sendmessage的用法
最佳答案
  • 二级知识专家网友:woshuo
  • 2021-01-17 22:33
如果你只想向TextBox里写点东西的话WM_CHAR消息或直接SendKeys.Send就行了
private const int WM_CHAR = 0x0102;
private void button1_Click(object sender, EventArgs e)
{
textBox1.Focus();
SendMessage(this.textBox1.Handle, WM_CHAR, 65, 0);
SendKeys.Send("A");
}
全部回答
  • 1楼网友:渊鱼
  • 2021-01-18 00:20
用PostMessage
  • 2楼网友:神的生死簿
  • 2021-01-18 00:12
KEYDOWN之后,要有KEYUP 事件的,不能只有KEYDOWN
  • 3楼网友:胯下狙击手
  • 2021-01-17 23:04
消息发送是通过windows提供的API函数SendMessage来实现的它的原型定义为
[DllImport("User.dll",EntryPoint="SendMessage")]
private static extern int SendMessage(
int hWnd, // handle to destination window
int Msg, // message
int wParam, // first message parameter
int lParam // second message parameter
);
消息的接受
在C#中,任何一个窗口都有也消息的接收处理函数,就是defproc函数
你可以在form中重载该函数来处理消息
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
///string与MFC中的CString的Format函数的使用方法有所不同
string message = string.Format("收到消息!参数为:{0},{}",m.wParam,m.lParam);
MessageBox.Show(message);///显示一个消息框
break;
default:
base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
break;
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息