資源簡介
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?????{
????????szDevicePath[i]?=?new?char[256];
????}
??
????//?取設備路徑
????nDevice?=?GetDevicePath((LPGUID)&USB_GUID?szDevicePath);
// GUID_CLASS_USB_DEVICE;
//////////////////////////////////////////////////////////////////////////////////////////////////
i?=?0;
while?(i? {
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 {
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
- 下一篇:智能小車起跑線識別完整版,絕對有用!
評論
共有 條評論