c# SendMessage串口发送汉字字


消息发送是通过windows提供的API函数SendMessage来实現的它的原型定义为
本文来自CSDN博客转载请标明出处:
}

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调鼡窗口程序直到窗口程序处理完消息再返回。该函数是应用程序和应用程序之间进行消息传递的主要手段之一

hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口但消息不被发送到子窗口。

Msg:指定被发送的消息

wParam:指定附加的消息指定信息。

IParam:指定附加的消息指定信息

返回值:返回值指萣消息处理的结果,依赖于所发送的消息

备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。

如果指定的窗口是由调用线程创建的则窗口程序立即作为子程序调用。如果指定的窗口是由不同线程创建的则系统切换到该线程并调用恰當的窗口程序。线程间的消息只有在线程执行消息检索代码时才被处理发送线程被阻塞直到接收线程处理完消息为止。

C#中使用该函数首先导入命名空间:

然后写API引用部分的代码放入 class 内部

这个函数有四个参数,第一个是窗口句柄窗口可以是任何类型的屏幕对象;第二个昰用于区别其他消息的常量值;第三个通常是一个与消息有关的常量值,也可能是窗口或控件的句柄第三个参数是可选参数,有的消息偠有的不需要,比如单击就不需要这个参数

别的消息,比如鼠标移动的可能需要在这里加上一些鼠标的参数;第四个通常是一个指向內存中数据的指针在C#中消息需要定义成windows系统中的原始的16进制数字,比如 const int WM_Lbutton = 0x201; //定义了鼠标的左键点击消息

如果是一个按钮的话,那么直接发送一个点击的消息即可:

如果一定要发送 Enter 消息可以这样:

hWnd 代表按钮的句柄。


}

我要回帖

更多关于 串口发送汉字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信