C#调用WINAPI及Windows窗口消息的发与送
最近在做一个餐饮项目(C#Winform),其中有一块是做点菜宝接口的对接,点菜宝的厂商提供了一个WX.exe的驱动程序,这个驱动程序无直接打开,只能通过自己的编写的接口程序调用和关闭,当时提供的例子一个VB和Delphi的用例,可是这块项目组的人都没有接触过,后来通过厂商了解到接口程序的开发原理是基于文本+消息机制的。 文本是说要用到文本文件的读和写, 消息是说要用到 Windows 窗口消息的发与收。
了解到这些后,我们就要去调用WinAPI用来接收驱动消息和向驱动程序发送消息,话不多说,直接上代码说明
***1引入需要使用的方法
[DllImport('user32.dll', CharSet = CharSet.Auto, SetLastError = false)] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);// [DllImport('user32', CharSet = CharSet.Ansi, EntryPoint = 'FindWindowA', ExactSpelling = false, SetLastError = true)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
2利用窗口过程监控消息的接收并发送消息
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。
例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程