资源简介
ESC_POS无驱动USB打印机(已应用到项目),可以打印,热敏打印机
代码片段和文件信息
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
#include
#include
#pragma comment(lib “setupapi.lib“)
using namespace std;
typedef struct DataInfo
{
string Port; //串口端口号
int BawdRate;//波特率
int DataBits; //数据位
char Parity; //校验位
int ReceiveBuffer; //缓冲区
int StopBits;//停止位
}PrintDevice;
// SetupDiGetInterfaceDeviceDetail所需要的输出长度,定义足够大
#define INTERFACE_DETAIL_SIZE (1024)
//设备数量上限,假设16台上限
#define MAX_DEVICE 16
//USB类的GUID
const GUID USB_GUID = {0xa5dcbf10 0x6530 0x11d2 {0x90 0x1f 0x00 0xc0 0x4f 0xb9 0x51 0xed}};
HANDLE hPort=NULL; //句柄
//封装的打印函数
int WriteData(string meg);
//打印内容
bool OnWriteData(string meg bool bBold = false bool bDTall = false bool bDWide = false int nHAil = 1);
//链接设备
int InitPort(PrintDevice &device);
//参数初始化
void InitializeDevicePar(PrintDevice &device);
//找设备
int GetDevicePath(LPGUID lpGuid LPTSTR* pszDevicePath);
int _tmain(int argc _TCHAR* argv[])
{
//////////////////////////////////////////////////////////////////////////////////////////////////
//遍历USB设备,找到POS打印机路径
int i nDevice;
char* szDevicePath[MAX_DEVICE]; // 设备路径
// 分配需要的空间
for (i = 0; i < MAX_DEVICE; i++)
{
szDevicePath[i] = new char[256];
}
// 取设备路径
nDevice = GetDevicePath((LPGUID)&USB_GUID szDevicePath);
// GUID_CLASS_USB_DEVICE;
//////////////////////////////////////////////////////////////////////////////////////////////////
i = 0;
while (i < nDevice)
{
PrintDevice device;
InitializeDevicePar(device); //初始化打印机参数
device.Port = szDevicePath[i++];
InitPort(device); //初始化打印机端口
string s;
////////////////////////////打印头信息开始//////////////////////////////////
OnWriteData(“*****Now You See Me*****\n\n“true true true);
OnWriteData(“- - - - - - - - - - - - - - - -\n“);
OnWriteData(“So You Want?\n“false true);
OnWriteData(“- - - - - - - - - - - - - - - -\n“);
OnWriteData(“这是一个基于ESC_POS打印机的USB无驱动打印Demo\n“true true true);
OnWriteData(“我找到了你的电脑上所有的USB打印机\n“true true true 2);
OnWriteData(“然后给所有找到的打印机发送打印命令\n“ true true true 3);
OnWriteData(“* * * * * * * * * * * * * * * *\n“);
OnWriteData(“OK打印完成\n\n“false false true 2);
s = “\x1D\x56\x41\x00“;
WriteData(s);
CloseHandle(hPort);//关闭端口
}
// 释放空间
for (i = 0; i< MAX_DEVICE; i++)
{
delete szDevicePath[i];
}
return 0;
}
//初始化参数
void InitializeDevicePar(PrintDevice &device)
{
device.Port=“COM4“;
device.BawdRate=9600;
device.DataBits=8;
device.StopBits=ONESTOPBIT;
device.Parity=NOPARITY; //NONE
device.ReceiveBuffer=256;
}
//链接打印机
int InitPort(PrintDevice &device)
{
hPort = CreateFile(device.Port.c_str() GENERIC_READ | GENERIC_WRITE
0 NULL
OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL NULL );
if (hPort == INVALID_HANDLE_V
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19364 2014-04-24 11:31 ESC_POS无驱动USB打印机\ConsoleApplication1\ConsoleApplication1.aps
文件 9256 2014-04-24 14:05 ESC_POS无驱动USB打印机\ConsoleApplication1\ConsoleApplication1.cpp
文件 2458 2014-04-24 11:31 ESC_POS无驱动USB打印机\ConsoleApplication1\ConsoleApplication1.rc
文件 4820 2018-12-25 17:16 ESC_POS无驱动USB打印机\ConsoleApplication1\ConsoleApplication1.vcxproj
文件 1561 2014-04-24 11:40 ESC_POS无驱动USB打印机\ConsoleApplication1\ConsoleApplication1.vcxproj.filters
文件 164 2014-04-17 10:18 ESC_POS无驱动USB打印机\ConsoleApplication1\ConsoleApplication1.vcxproj.user
文件 1594 2014-04-16 16:46 ESC_POS无驱动USB打印机\ConsoleApplication1\ReadMe.txt
文件 398 2014-04-24 11:31 ESC_POS无驱动USB打印机\ConsoleApplication1\resource.h
文件 224 2014-04-16 16:46 ESC_POS无驱动USB打印机\ConsoleApplication1\stdafx.cpp
文件 265 2014-04-18 17:08 ESC_POS无驱动USB打印机\ConsoleApplication1\stdafx.h
文件 236 2014-04-16 16:46 ESC_POS无驱动USB打印机\ConsoleApplication1\targetver.h
文件 327680 2018-12-25 17:16 ESC_POS无驱动USB打印机\ConsoleApplication1.sdf
文件 924 2014-04-16 16:46 ESC_POS无驱动USB打印机\ConsoleApplication1.sln
..A..H. 49664 2014-04-24 14:05 ESC_POS无驱动USB打印机\ConsoleApplication1.v11.suo
..A..H. 49664 2018-12-25 17:16 ESC_POS无驱动USB打印机\ConsoleApplication1.v12.suo
文件 484864 2014-04-24 14:05 ESC_POS无驱动USB打印机\Debug\ConsoleApplication1.exe
文件 2490368 2014-04-21 13:30 ESC_POS无驱动USB打印机\ipch\consoleapplication1-47e10938\consoleapplication1-3c45e224.ipch
目录 0 2014-04-21 13:30 ESC_POS无驱动USB打印机\ipch\consoleapplication1-47e10938
目录 0 2014-04-24 14:06 ESC_POS无驱动USB打印机\ConsoleApplication1
目录 0 2014-04-24 14:06 ESC_POS无驱动USB打印机\Debug
目录 0 2014-04-16 16:47 ESC_POS无驱动USB打印机\ipch
目录 0 2018-12-25 17:16 ESC_POS无驱动USB打印机
----------- --------- ---------- ----- ----
3443504 22
- 上一篇:nachos实验报告 3 lab3
- 下一篇:智能小车起跑线识别完整版,绝对有用!
评论
共有 条评论