casecodedll.cpp
来自「cashcode的相关测试代码」· C++ 代码 · 共 182 行
CPP
182 行
// CaseCodeDll.cpp: implementation of the CCaseCodeDll class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "test.h"
#include "CaseCodeDll.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCaseCodeDll::CCaseCodeDll()
{
m_hDLL = LoadLibrary("CashCode.dll");
if (!m_hDLL) {
MessageBox(NULL, "load dll error", "", MB_OK);
}
}
CCaseCodeDll::~CCaseCodeDll()
{
if (m_hDLL)
FreeLibrary(m_hDLL);
}
void CCaseCodeDll::test() {
if (m_hDLL) {
typedef void (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "test");
if (pFunc)
pFunc();
}
}
DWORD CCaseCodeDll::GetLastResponseLen()
{
if (m_hDLL) {
typedef DWORD (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_GetLastResponseLen");
if (pFunc)
return pFunc();
}
}
unsigned char CCaseCodeDll::GetResponse(unsigned char &nMore)
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (unsigned char&);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_GetResponse");
if (pFunc)
return pFunc(nMore);
}
}
INT CCaseCodeDll::EnableB2BMode()
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_EnableB2BMode");
if (pFunc)
return pFunc();
}
}
INT CCaseCodeDll::ReturnBill()
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_ReturnBill");
if (pFunc)
return pFunc();
}
}
INT CCaseCodeDll::AcceptBill()
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_AcceptBill");
if (pFunc)
return pFunc();
}
}
INT CCaseCodeDll::Poll()
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_Poll");
if (pFunc)
return pFunc();
}
}
INT CCaseCodeDll::GetBillTable(unsigned char chBillTables[BILL_TYPES_LEN])
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (unsigned char[BILL_TYPES_LEN]);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_GetBillTable");
if (pFunc)
return pFunc(chBillTables);
}
}
INT CCaseCodeDll::SetSecurity(unsigned char chSecurity[SECURITY_LEN])
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (unsigned char[SECURITY_LEN]);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_SetSecurity");
if (pFunc)
return pFunc(chSecurity);
}
}
INT CCaseCodeDll::EnableBillTypes(unsigned char chBillTypes[BILL_TYPES_LEN])
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (unsigned char[BILL_TYPES_LEN]);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_EnableBillTypes");
if (pFunc)
return pFunc(chBillTypes);
}
}
INT CCaseCodeDll::GetIdentification(unsigned char PN[PN_LEN], unsigned char SN[SN_LEN], unsigned char AN[AN_LEN])
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (unsigned char[PN_LEN], unsigned char[SN_LEN], unsigned char[AN_LEN]);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_GetIdentification");
if (pFunc)
return pFunc(PN, SN, AN);
}
}
INT CCaseCodeDll::GetStatus(unsigned char chStatus[STATUS_LEN])
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (unsigned char[STATUS_LEN]);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_GetStatus");
if (pFunc)
return pFunc(chStatus);
}
}
INT CCaseCodeDll::ConnectToDrv(INT nComPort, INT nBaud)
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) (INT, INT);
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_ConnectToDrv");
if (pFunc)
return pFunc(nComPort, nBaud);
}
}
INT CCaseCodeDll::Reset()
{
if (m_hDLL) {
typedef INT (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_Reset");
if (pFunc)
return pFunc();
}
}
void CCaseCodeDll::CloseConnection()
{
if (m_hDLL) {
typedef void (WINAPI *FUNC) ();
FUNC pFunc = (FUNC)GetProcAddress(m_hDLL, "CC_CloseConnection");
if (pFunc)
pFunc();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?