资源简介

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


评论

共有 条评论