⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kdcardctl.h

📁 磁卡读写器编程
💻 H
字号:
#if !defined(AFX_KDCARDCTL_H__2EFA5E93_1D61_40FB_8B9C_B0E956DA6112__INCLUDED_)
#define AFX_KDCARDCTL_H__2EFA5E93_1D61_40FB_8B9C_B0E956DA6112__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// KDCARDCtl.h : Declaration of the CKDCARDCtrl ActiveX Control class.

/////////////////////////////////////////////////////////////////////////////
// CKDCARDCtrl : See KDCARDCtl.cpp for implementation.
#include "deviceinfo.h"

class CMyWindow;
class CKDCARDCtrl : public COleControl
{
	DECLARE_DYNCREATE(CKDCARDCtrl)

// Constructor
public:
	CKDCARDCtrl();

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CKDCARDCtrl)
	public:
	virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
	virtual void DoPropExchange(CPropExchange* pPX);
	virtual void OnResetState();
	virtual DWORD GetControlFlags();
	//}}AFX_VIRTUAL

// Implementation
protected:
	~CKDCARDCtrl();

	DECLARE_OLECREATE_EX(CKDCARDCtrl)    // Class factory and guid
	DECLARE_OLETYPELIB(CKDCARDCtrl)      // GetTypeInfo
	DECLARE_PROPPAGEIDS(CKDCARDCtrl)     // Property page IDs
	DECLARE_OLECTLTYPE(CKDCARDCtrl)		// Type name and misc status

// Message maps
	//{{AFX_MSG(CKDCARDCtrl)
		// NOTE - ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

// Dispatch maps
	//{{AFX_DISPATCH(CKDCARDCtrl)
	afx_msg short GetDeviceStatus();
	afx_msg void SetDeviceStatus(short nNewValue);
	afx_msg short GetExtPortKD6006();
	afx_msg void SetExtPortKD6006(short nNewValue);
	afx_msg short GetExtPortKDE();
	afx_msg void SetExtPortKDE(short nNewValue);
	afx_msg short GetSerialPortKD6006();
	afx_msg void SetSerialPortKD6006(short nNewValue);
	afx_msg short GetSerialPortKDE();
	afx_msg void SetSerialPortKDE(short nNewValue);
	afx_msg BSTR GetTrack2();
	afx_msg void SetTrack2(LPCTSTR lpszNewValue);
	afx_msg BSTR GetTrack3();
	afx_msg void SetTrack3(LPCTSTR lpszNewValue);
	afx_msg short CancelCheckCard();
	afx_msg short CheckCardAtGate(short gTimeOut);
	afx_msg short CloseDevice();
	afx_msg short EjectCardKDE();
	afx_msg short GetPortFromIni();
	afx_msg short SendICC(LPCTSTR pchSendBuf, LPCTSTR pchRcvBuf, LPCTSTR pchICSW);
	afx_msg short TakeBackCard();
	afx_msg short WaittingCard(short Mode);
	afx_msg short OpenKD6006Com();
	afx_msg short OpenKDECom();
	//}}AFX_DISPATCH
	DECLARE_DISPATCH_MAP()

// Event maps
	//{{AFX_EVENT(CKDCARDCtrl)
	void FireCardDataComming(short DeviceStatus)
		{FireEvent(eventidCardDataComming,EVENT_PARAM(VTS_I2), DeviceStatus);}
	void FireTakeCardComming()
		{FireEvent(eventidTakeCardComming,EVENT_PARAM(VTS_NONE));}
	//}}AFX_EVENT
	DECLARE_EVENT_MAP()

// Dispatch and event IDs
public:
	HWND hWndMsg;
	char mThreadRunning;
	char mThreadCheckRun;
	short TimeOut;
	void FireClassEvent();
	void FireTakeEvent();
	CDeviceInfo * pCom;
    int  ICFlag;

	HANDLE hKillThread;
	HANDLE hFinishThread;
    int   FinishThreadFlag;

	enum {
	//{{AFX_DISP_ID(CKDCARDCtrl)
	dispidDeviceStatus = 1L,
	dispidExtPortKD6006 = 2L,
	dispidExtPortKDE = 3L,
	dispidSerialPortKD6006 = 4L,
	dispidSerialPortKDE = 5L,
	dispidTrack2 = 6L,
	dispidTrack3 = 7L,
	dispidCancelCheckCard = 8L,
	dispidCheckCardAtGate = 9L,
	dispidCloseDevice = 10L,
	dispidEjectCardKDE = 11L,
	dispidGetPortFromIni = 12L,
	dispidSendICC = 13L,
	dispidTakeBackCard = 14L,
	dispidWaittingCard = 15L,
	dispidOpenKD6006Com = 16L,
	dispidOpenKDECom = 17L,
	eventidCardDataComming = 1L,
	eventidTakeCardComming = 2L,
	//}}AFX_DISP_ID
	};
private:
	char mDeviceCloseing;

	CMyWindow * pWnd;
	HANDLE threadHandle;
	HANDLE threadCheck;
};


//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_KDCARDCTL_H__2EFA5E93_1D61_40FB_8B9C_B0E956DA6112__INCLUDED)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -