CommMonitor8.0 SDK DLL 版本,此版本是直接调用DLL。
Delphi调用定义:
const
CommMOnitor8x = ‘CommMOnitor8x.dll’;
type
TOnMonitorL = procedure(
seq: DWORD; //序号
dt: DWORD; //时间
ctrl: DWORD; //控制码
PID: DWORD; //进程ID
comNum: PAnsiChar; //串口号
size: DWORD; //数据大小
vtASC: PAnsiChar //ASCII
); stdcall;
function StartMonitor(cKey, cPortName: PAnsiChar; funcCallback: TOnMonitorL): BOOL; stdcall; external CommMOnitor8x;
function StopMonitor(): BOOL; stdcall; external CommMOnitor8x;
function PauseMonitor(bPause: BOOL): BOOL; stdcall; external CommMOnitor8x;
procedure About(Handle: DWORD); stdcall; external CommMOnitor8x;
VS C#调用定义:
[DllImport(“CommMonitor8x.dll”,
CharSet = System.Runtime.InteropServices.CharSet.Ansi,
CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall,
EntryPoint = “StartMonitor”)]
public static extern bool StartMonitor(string key, string comName, IntPtr onMonitor);
[DllImport(“CommMonitor8x.dll”, CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall, EntryPoint = “About”)]
public static extern void About(IntPtr Handle);
[DllImport(“CommMonitor8x.dll”, CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall, EntryPoint = “StopMonitor”)]
public static extern bool StopMonitor();
[DllImport(“CommMonitor8x.dll”, CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall, EntryPoint = “PauseMonitor”)]
public static extern bool PauseMonitor(bool bPause);
public delegate void OnMonitor(
uint seq, //序号
uint dt, //时间
uint dwCtrlCode, //控制码
uint PID, //进程ID
string sPortName, //串口号
uint dwSize, //数据大小
string vtASC //ASCII
);
Delphi、C#调用,请参看DEMO。
来源:http://www.ceiwei.com/blog/index.php/2017/11/17/commmonitor8-0-sdk-dll_ver/