直接调用dll就可以,静态动态随便,不会的话,去google 函数名 NET_DVR_RealPlay_V30 之类,然后参数类型匹配正确
解决方案 »
- 请问这种方式怎么实现?
- 写成函数,就找不到控件了
- 求24位位图转换为4位位图的算法(不使用控件)?提供些思路也行
- 小弟不才,希望申请OOP/设计模式版版主,请通过
- 关于远程监控,请大家给点建议100分
- 一个图形界面程序、许多的应用技巧。源代码可以向作者索取
- 用ado批量保存数据时其中一条记录违反事务,修改后只保存修改后的一条
- 询问有关组件的使用!
- Delphi中调用Flash的方法,在线急侯
- 还是COOKIE的问题,呵呵,我自己都忍不住要笑了
- ------------------ 大神请留步,delphi写入内存错误 求教 --------------
- delphi读取access表格的内容-错误标准表达式数据类型不匹配
Windows, Messages, SysUtils, Classes;const
DEV_NO_CONNECT: LongInt = -1;type
// DVR 设备描述块
TNetDVRDeviceInfo = packed record
sSerialNumber : array [0..SERIALNO_LEN - 1] of Char;
byAlarmInPortNum : Byte;
byAlarmOutPortNum: Byte;
byDiskNum : Byte;
byDVRType : Byte;
byChanNum : Byte;
byStartChan : Byte;
byAudioChanNum : Byte;
byIPChanNum : Byte;
byRes1 : array [1..24] of Char;
end; // DVR 远程客户端描述块
TNET_DVR_CLIENTINFO = packed record
lChannel : LongInt;
lLinkMode : LongInt;
hPlayWnd : HWnd;
sMultiCastIP: PCHAR;
end;// 报警记录体
TNET_DVR_ALARMINFO = packed record
dwAlarmOutputNumber: array [0..MAX_ALARMOUT - 1] of DWORD;
dwAlarmRelateChannel: array [0..MAX_CHANNUM - 1] of DWORD;
dwChannel: array [0..MAX_CHANNUM - 1] of DWORD;
dwDiskNumber: array [0..MAX_DISKNUM - 1] of DWORD;
end; TNET_DVR_ALARMINFO_V30 = packed record
dwAlarmOutputNumber : array [0..MAX_ALARMOUT_V30 - 1] of Byte;
dwAlarmRelateChannel: array [0..MAX_CHANNUM_V30 - 1] of Byte;
dwChannel: array [0..MAX_CHANNUM_V30 - 1] of Byte;
dwDiskNumber: array [0..MAX_DISKNUM_V30 - 1] of Byte;
end; TDvrAlarmInfoEx = packed record
dwAlarmType : DWORD;
dwAlarmInputNumber: DWORD;
case Integer of
0: (V2X: TNET_DVR_ALARMINFO);
1: (V30: TNET_DVR_ALARMINFO_V30);
end;
PDvrAlarmInfoEx = ^TDvrAlarmInfoEx;
TNET_DVR_ALARMER = packed record
byUserIDValid : Byte;
bySerialValid : Byte;
byVersionValid : Byte;
byDeviceNameValid : Byte;
byMacAddrValid : Byte;
byLinkPortValid : Byte;
byDeviceIPValid : Byte;
bySocketIPValid : Byte;
lUserID : LongInt;
sSerialNumber : array [0..SERIALNO_LEN - 1] of Char;
dwDeviceVersion : DWORD;
sDeviceName : array [0..NAME_LEN - 1] of Char;
byMacAddr : array [0..MACADDR_LEN - 1] of Byte;
wLinkPort : WORD;
sDeviceIP : array [0..127] of char;
sSocketIP : array [0..127] of char;
byIpProtocol : Byte;
byRes2 : array [0..10] of Byte;
end;
PNET_DVR_ALARMER = ^TNET_DVR_ALARMER; TNET_DVR_SCALECFG = packed record
dwSize: DWORD;
dwMajorScale: DWORD;
dwMinorScale: DWORD;
dwRes: array [0..1] of DWORD;
end;//NET_DVR_IPPARACFG_V40 IP设备资源及IP通道资源配置结构体。
TNET_DVR_IPPARACFG_V40 = packed record
dwSize : DWORD;
dwGroupNum : DWORD;
dwAChanNum : DWORD;
dwDChanNum : DWORD;
dwStartDChan : DWORD;
end;
//PNET_DVR_IPPARACFG_V40 = ^TNET_DVR_IPPARACFG_V40; TNET_DVR_PREVIEWINFO = packed record
lChannel : LongInt;
dwStreamType : DWORD;
dwLinkMode : DWORD;
hPlayWnd : HWND;
bBlocked : Boolean;
bPassbackRecord : Boolean;
byPreviewMode : BYTE;
byStreamID : array [0..STREAM_ID_LEN-1] of BYTE;
byProtoType : BYTE;
byRes : array [0..221] of BYTE;
end;function NET_DVR_Init: Boolean; external 'HCNetSDK.dll';
function NET_DVR_Cleanup: Boolean; external 'HCNetSDK.dll';
function NET_DVR_GetLastError: DWORD; external 'HCNetSDK.dll';function NET_DVR_SetDVRMessage(nMessage: Integer; MsgWnd: HWND): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_GetLocalIP(var Buf; var ValidNum: DWORD; var EnableBind: Boolean): Boolean;
stdcall; external 'HCNetSDK.dll';
function NET_DVR_SetValidIP(dwIPIndex: DWORD; EnableBind: Boolean): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SetReconnect(dwInterval: DWORD; bEnableRecon: Boolean): Boolean;
stdcall; external 'HCNetSDK.dll';
// 登入/登出功能
function NET_DVR_Login_V30(
sDVRIP : pChar;
wDVRPort : WORD;
sUserName : PChar;
sPassword : PChar;
var DeviceInfo: TNetDVRDeviceInfo): LongInt;
stdcall; external 'HCNetSDK.dll';function NET_DVR_Logout_V30(lUserID: LongInt): Boolean;
stdcall; external 'HCNetSDK.dll';// 设备设置
function NET_DVR_GetDVRConfig(
lUserID : LongInt;
dwCommand : DWORD;
lChannel : LongInt;
var OutBuffer : TNET_DVR_IPPARACFG_V40;
dwOutBufferSize : DWORD;
var lpBytesReturned: DWORD): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SetDVRConfig(
lUserID : LongInt;
dwCommand : DWORD;
lChannel : LongInt;
lpInBuffer : Pointer;
dwInBufferSize: DWORD): Boolean;
stdcall; external 'HCNetSDK.dll';// 远程RS232 接口
function NET_DVR_SendTo232Port(
LUserID : DWORD;
pSendBuf : Pointer;
dwBufSize: DWORD): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SerialStart(
lUserID : LongInt;
lSerialPort : LongInt;
cbSerialDataCallBack: Pointer;
dwUser : Pointer): LongInt;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SerialSend(
lSerialHandle: LongInt;
lChannel : LongInt;
pSendBuf : Pointer;
dwBufSize : DWORD): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SerialStop(lSerialHandle: LongInt): Boolean;
stdcall; external 'HCNetSDK.dll';// 实时视频
function NET_DVR_RealPlay_V30(
lUserID : LongInt;
var lpClientInfo : TNET_DVR_CLIENTINFO;
cbRealDataCallBack: Pointer; {nil}
pUser : Pointer; {nil}
bBlocked : Boolean {False}): LongInt;
stdcall; external 'HCNetSDK.dll';function NET_DVR_RealPlay_V40(
lUserID : LongInt;
var lpPreviewInfo : TNET_DVR_PREVIEWINFO;
fRealDataCallBack_V30: Pointer;
pUser : Pointer): LongInt;
stdcall; external 'HCNetSDK.dll';
function NET_DVR_StopRealPlay(lRealHandle: LongInt): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_GetScaleCFG_V30(lUserID: LongInt; var ScaleCfg: TNET_DVR_SCALECFG): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SetScaleCFG_V30(lUserID: LongInt; var ScaleCfg: TNET_DVR_SCALECFG): Boolean;
stdcall; external 'HCNetSDK.dll';// 报警检测function NET_DVR_SetDVRMessageCallBack_V30(
fMessageCallBack: Pointer;
pUser: Pointer): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_StartListen_V30(
sLocalIP: PCHAR;
wLocalPort: WORD;
DataCallback: Pointer;
pUserData: Pointer): LongInt;
stdcall; external 'HCNetSDK.dll';function NET_DVR_StopListen_V30(lListenHandle: LongInt): Boolean;
stdcall; external 'HCNetSDK.dll';function NET_DVR_SetupAlarmChan_V30(lUserID: LongInt): LongInt;
stdcall; external 'HCNetSDK.dll';function NET_DVR_CloseAlarmChan_V30(lAlarmHandle: LongInt): Boolean;
stdcall; external 'HCNetSDK.dll';
implementationend.