comm.h

来自「各种打印机通用程序」· C头文件 代码 · 共 71 行

H
71
字号
#ifndef _comm_h
#define _comm_h             
#define WM_RECVCHAR	 WM_USER + 1000
		    
UINT ReadThread(LPVOID pParam);
UINT TimeOutThread(LPVOID pParam);

typedef struct HANDLEINFO
{
	LPVOID HwndInfo;
	HWND   CommHwnd;
	HANDLE CommInfo;
	DWORD  TimeOut;
	BOOL   ThreadRun;
}HANDLEInfo;

class  CCommDevice
{
protected:
	char         ComPort[20];
    HANDLE       hCom;
    COMMTIMEOUTS CommTimeOuts;
    BOOL         fConnected;
	CWinThread  *CRead_Thread;
	CWinThread  *CTimeOut;

public:
	HANDLEInfo HandleInfo;
	BOOL TraceFlag;
	char Trace_File[50];
	int  TraceMode;
public:
	CCommDevice();
	~CCommDevice();
    BOOL Open(char*);
	BOOL Open(char*,DCB*);
	void SetCommHwnd(HWND);
	HWND GetCommHwnd(void);
	void SetReadTimeOut(DWORD);
    int  Read(char*, DWORD);
	BOOL Write(char*, DWORD);
	int  ReadBlock(char*,unsigned int,DWORD);
	int  ReadComm(char *,unsigned int,DWORD,DWORD);
	int  EventRead(char*,unsigned int,DWORD,DWORD);
   	BOOL CreateReadThread(LPVOID);
	BOOL CreateTimeOutThread(LPVOID);
	void KillReadThread(void);
	void KillTimeOutThread(void);
	void PurgeCommBuf(int);
	void PutTraceFile(char*,int);
	void CommTrace(char*,char*,DWORD,int,int);
	void Close(void);
	int  InStr(char*,char*);
	void TrimLeft(char*);
	void TrimRight(char*);
	int  Intercept(char*,int,char*,char*);
	void ChangeStr(char*,char*,char*);
public:
	HANDLE getpara()
	{	return hCom;  }
	void putpara(LPVOID lparam)
	{
		hCom = lparam;
		fConnected = true;
		GetCommTimeouts(hCom, &CommTimeOuts);
		HandleInfo.ThreadRun=false;
		CRead_Thread=NULL;
		CTimeOut=NULL;
	}
};
#endif

⌨️ 快捷键说明

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