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。
,