EntryPoint = StopMonitor)] public static extern bool StopMo

时间:2021-09-10 08:12:01

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。