请问如何向并口发送数据??? 我不知道如何对并口进行操作,比如发送接受数据,不知道并口有没有类似串口的MSCOMM之类的控件,请大家指教,最好能写详细点儿,源码什么的都写一下,谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月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;} http://www.naughter.com/parallelport.html MFC 对话框工程中如何禁止子窗口背景刷新 ActiveX控件的CAB文件无法下载 CMFCRibbonEdit怎么禁用? 链表问题!请指教! 像IBM POEWR MANAGEMENT那样的东东怎么写? 郁闷,散分 怎样才能在程序视窗的任意位置按住鼠标后可以移动窗体 图形显示问题,高手请进 vc 中如何实现图片打印 如何响应CRichEditCtrl插入的Link 关于InvalidateRect和BeginPaint的问题 简单:关于多视图程序问题。
给你个例子
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;
}