VC怎样直接给打印机发送命令 我的打印机命令有修改的 所以要自己发送正确的命令 但我想问怎样可以直接发送我的命令给打印机呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我以前用过斑马的打印机,开了LPT后,把ZPL指令写进去就完了。看了我自己的回答,貌似觉得楼主的问题不是这么简单吧,没看明白 { UINT nSize = static_cast<UINT>(m_aPageItem.GetSize()); if (pInfo->m_nCurPage > nSize) { pInfo->SetMaxPage(nSize); return; } if (pInfo->m_nCurPage == 1) InitColoumnPos(pInfo); CPen penLine(PS_SOLID, 3, RGB(0, 0, 0)); CPen *lpPenOld = pDC->SelectObject(&penLine); pDC->SetTextAlign(TA_LEFT); PrintHeadFoot(pDC, pInfo); PrintPageContent(pDC, pInfo); pDC->SelectObject(lpPenOld);} 我要是ESC i全切纸 名称 全切纸格式 ASCII码 ESC i 十六进制 1B 69 十进制 27 105描述 切纸操作,把纸全切断DCB dcb; HANDLE hCom; BOOL fSuccess; dcb.DCBlength = sizeof(DCB); // TODO: 在此添加控件通知处理程序代码 hCom = CreateFile( "COM4", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, // comm devices must use OPEN_EXISTING 0, //FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED NULL // hTemplate must be NULL for comm devices ); if(hCom==(HANDLE)-1) { AfxMessageBox("打开COM失败!"); } fSuccess = GetCommState(hCom, &dcb); dcb.BaudRate = CBR_9600; // set the baud rate dcb.ByteSize = 8; // data size, xmit, and rcv dcb.Parity = NOPARITY; // no parity bit dcb.StopBits = ONESTOPBIT; // one stop bit fSuccess = SetCommState(hCom, &dcb); CString lpOutBuffer = _T("ASCII ESC i"); DWORD dwBytesWrite= 100; COMSTAT ComStat; DWORD dwErrorFlags; BOOL bWriteStat; //ClearCommError(hCom,&dwErrorFlags,&ComStat); bWriteStat=WriteFile(hCom,lpOutBuffer,dwBytesWrite,&dwBytesWrite,NULL); if(!bWriteStat) { AfxMessageBox("写入失败!"); }但他不是收命令 而是打印出ASCII ESC i一群乱码 要怎样给他命令啊 要用16进制的数据发,而不是名称发.......char buf[10];buf[0]=0x1B;//escbuf[1]=0x69;bWriteStat=WriteFile(hCom,buf,2,&dwBytesWrite,NULL); dirdirdir3 成功了 !还有个问题 我想他打印我的文档!在哪设置文档信息给他的啊 关于下拉菜单的问题 请问各位,如何实现通信中的插帧和轮询 VC 为啥同一组数据出来的图形不一样呢 大家帮忙看看 急急急(多线程) vc 如何测试端口可用? VC进阶者群招贤纳士 心情不好!踢场! 怎么知道一个文件正在创建中? 请教大虾们一个超easy的问题 哪位达人可以帮帮我,哪有这些文件的下载? Skin++新技术,DUIBuilder界面编辑器,有视频教程哦。 要学好vc,该怎么办
看了我自己的回答,貌似觉得楼主的问题不是这么简单吧,没看明白
{
UINT nSize = static_cast<UINT>(m_aPageItem.GetSize());
if (pInfo->m_nCurPage > nSize) {
pInfo->SetMaxPage(nSize);
return;
} if (pInfo->m_nCurPage == 1)
InitColoumnPos(pInfo); CPen penLine(PS_SOLID, 3, RGB(0, 0, 0));
CPen *lpPenOld = pDC->SelectObject(&penLine);
pDC->SetTextAlign(TA_LEFT); PrintHeadFoot(pDC, pInfo); PrintPageContent(pDC, pInfo);
pDC->SelectObject(lpPenOld);
}
ESC i全切纸
名称 全切纸
格式 ASCII码 ESC i
十六进制 1B 69
十进制 27 105
描述 切纸操作,把纸全切断
DCB dcb;
HANDLE hCom;
BOOL fSuccess;
dcb.DCBlength = sizeof(DCB);
// TODO: 在此添加控件通知处理程序代码
hCom = CreateFile( "COM4",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, //FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED
NULL // hTemplate must be NULL for comm devices
);
if(hCom==(HANDLE)-1)
{
AfxMessageBox("打开COM失败!");
} fSuccess = GetCommState(hCom, &dcb); dcb.BaudRate = CBR_9600; // set the baud rate
dcb.ByteSize = 8; // data size, xmit, and rcv
dcb.Parity = NOPARITY; // no parity bit
dcb.StopBits = ONESTOPBIT; // one stop bit
fSuccess = SetCommState(hCom, &dcb); CString lpOutBuffer = _T("ASCII ESC i"); DWORD dwBytesWrite= 100;
COMSTAT ComStat;
DWORD dwErrorFlags;
BOOL bWriteStat;
//ClearCommError(hCom,&dwErrorFlags,&ComStat);
bWriteStat=WriteFile(hCom,lpOutBuffer,dwBytesWrite,&dwBytesWrite,NULL);
if(!bWriteStat)
{
AfxMessageBox("写入失败!");
}但他不是收命令 而是打印出ASCII ESC i一群乱码 要怎样给他命令啊
char buf[10];
buf[0]=0x1B;//esc
buf[1]=0x69;
bWriteStat=WriteFile(hCom,buf,2,&dwBytesWrite,NULL);