求救 各位大哥: 能提供一段并口输出的代码吗? 谢谢!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用API和串口一样,用CREATEFILE.READFILE,WRITEFILE等给你个例子extern "C" bool PASCAL Link() //连接到打印机{ m_hCardInterFace = CreateFile("LPT1", GENERIC_WRITE, NULL,NULL, OPEN_EXISTING, NULL, NULL); if(m_hCardInterFace!=INVALID_HANDLE_VALUE) { m_CommTimeouts.ReadIntervalTimeout = 1000;//读操作两个字节之间的时间(单位:毫秒) m_CommTimeouts.ReadTotalTimeoutMultiplier = 1000;//读操作的时间(单位:毫秒) m_CommTimeouts.ReadTotalTimeoutConstant = 1000; m_CommTimeouts.WriteTotalTimeoutMultiplier = 1000; m_CommTimeouts.WriteTotalTimeoutConstant = 1000; SetCommTimeouts(m_hCardInterFace, &m_CommTimeouts); return true; } return false;}extern "C" void PASCAL Unlink() //断开打印机{ CloseHandle(m_hCardInterFace);}bool SendCommand(CString CommandWord) //向打印机发出命令,并且返回命令状态{ DWORD t1,dwRead; COMSTAT t2; CString Command=0x1b; Command+=CommandWord; Command+=0x0d; WriteFile( m_hCardInterFace, Command.GetBuffer (Command.GetLength ()), Command.GetLength (), &dwRead, NULL); if(!ClearCommError(m_hCardInterFace,&t1,&t2)) { switch(t1) { case CE_OOP: TRACE("G CE_OOP\n"); return false; break; case CE_PTO://超时错误 TRACE("G CE_PTO\n"); return false; break; case CE_IOE: TRACE("G CE_IOE\n"); return false; break; } } return true;} To zhangnanonnet(鱼欢): 你确定你的代码能够使用吗?我是说bool SendCommand(CString CommandWord)这一段。 请你指点一下使用方法,谢谢!!!!!!!!!!!!! 如何利用VLC获取ts流里的节目信息 MFC基于对话框的控件 滚动条 新手请教内存DC中绘图,OnDraw时恢复问题 升星了,下班了,散分~~ 视频中出现绿色条纹的干扰!高手请进 vc 很着急 建议把VC一分为五,同意者请进来投票。 dynamic_cast 经常出错的原因? 我的CListCtrl控件中为什么加不进图标?高分求解!! 为什么发送数据相同时,串口精灵和超级终端接收数据却不同??? 请教,如何用DirectX编程,谢谢!!!! 【呼吁】希望大家回复发言前能仔细了解贴子内容
给你个例子
extern "C" bool PASCAL Link() //连接到打印机
{
m_hCardInterFace =
CreateFile("LPT1",
GENERIC_WRITE,
NULL,NULL,
OPEN_EXISTING,
NULL,
NULL);
if(m_hCardInterFace!=INVALID_HANDLE_VALUE)
{
m_CommTimeouts.ReadIntervalTimeout = 1000;//读操作两个字节之间的时间(单位:毫秒)
m_CommTimeouts.ReadTotalTimeoutMultiplier = 1000;//读操作的时间(单位:毫秒)
m_CommTimeouts.ReadTotalTimeoutConstant = 1000;
m_CommTimeouts.WriteTotalTimeoutMultiplier = 1000;
m_CommTimeouts.WriteTotalTimeoutConstant = 1000;
SetCommTimeouts(m_hCardInterFace, &m_CommTimeouts);
return true;
}
return false;
}
extern "C" void PASCAL Unlink() //断开打印机
{
CloseHandle(m_hCardInterFace);
}
bool SendCommand(CString CommandWord) //向打印机发出命令,并且返回命令状态
{
DWORD t1,dwRead;
COMSTAT t2; CString Command=0x1b;
Command+=CommandWord;
Command+=0x0d;
WriteFile(
m_hCardInterFace,
Command.GetBuffer (Command.GetLength ()),
Command.GetLength (),
&dwRead,
NULL);
if(!ClearCommError(m_hCardInterFace,&t1,&t2))
{
switch(t1)
{
case CE_OOP:
TRACE("G CE_OOP\n");
return false;
break;
case CE_PTO://超时错误
TRACE("G CE_PTO\n");
return false;
break;
case CE_IOE:
TRACE("G CE_IOE\n");
return false;
break;
}
}
return true;
}
你确定你的代码能够使用吗?我是说bool SendCommand(CString CommandWord)这一段。
请你指点一下使用方法,谢谢!!!!!!!!!!!!!