mj800dll.cpp
来自「门禁接口DLL」· C++ 代码 · 共 90 行
CPP
90 行
#include <windows.h>
#include <stdio.h>
#include "MJ800DLL.h"
HINSTANCE g_hInst;
PmjInitialize mjInitDevice;
PmjReadCard mjReadCard;
PmjTerminate mjCloseDevice;
bool htsInitalise()
{
g_hInst=::LoadLibrary("MJDLL.dll");
mjInitDevice =
(PmjInitialize)GetProcAddress(g_hInst,"mjInitDevice");
if(mjInitDevice == NULL)
return false;
mjReadCard =
(PmjReadCard)GetProcAddress(g_hInst,"mjReadCard");
if(mjReadCard == NULL)
return false;
mjCloseDevice =
(PmjTerminate)GetProcAddress(g_hInst,"mjCloseDevice");
if(mjCloseDevice == NULL)
return false;
if (mjInitDevice(1,19200) != 0)
return false;
return true;
}
bool htsReadCard(char* sCard,char* sDateTime)
{
char buff[7];
int j,l;
char temp1[4],temp2[6];
char buff1[4],buff2[6];
ZeroMemory(buff,7);
ZeroMemory(temp1,4);
ZeroMemory(temp2,6);
ZeroMemory(buff1,4);
ZeroMemory(buff2,6);
if(mjReadCard(1,buff) != 0)
{
return false;
}
else
{
memcpy(buff1, buff, 2);
memcpy(buff2, buff+2, 4);
sscanf(buff1,"%x",&j);
sscanf(buff2,"%x",&l);
sprintf(temp1,"%d",j);
strcpy(buff1,"000");
strcpy(buff1+3-strlen(temp1),temp1);
sprintf(temp2,"%d",l);
strcpy(buff2,"00000");
strcpy(buff2+5-strlen(temp2),temp2);
sprintf(sCard,"%s%s",buff1,buff2);
SYSTEMTIME time;
GetSystemTime(&time);
sprintf(sDateTime,"%d-%d-%d %d:%d:%d",time.wYear,time.wMonth,
time.wDay,(time.wHour)+8,time.wMinute,time.wSecond);
}
return true;
}
bool htsTerminate()
{
if (mjCloseDevice == NULL)
{
return false;
}
else
{
mjCloseDevice();
return true;
}
FreeLibrary(g_hInst);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?