直接访问和控制电脑的打印口(并行口)
2008-02-23 05:32:00来源:互联网 阅读 ()
打印口各引脚的定义: 1.选通, PC->Printer 2-9.数据(D0-D7) 10.应答(ACK),Printer->PC 11.忙(BUSY), Printer->PC 12.无纸(PE), Printer->PC 13.联机(SLCT), Printer->PC 14.自动换行(AUTO FD), PC->Printer 15.错误(ERROR), Printer->PC 16.初始化(INIT),PC->Printer 17.选择输出(SELECT IN), PC->Printer 18-25.地(GND) |
程式提供了 TParallelPort 类, 可直接对打印口操作。
属性:
__property unsigned short Base; //并行口的开始地址, 默认值为 0x378
__property unsigned char Data; //并行口的数据 D0-D7, 可读写
__property unsigned char Flag; //并行口的状态, 包括 ~BUSY, ACK, PE, ONLINE, ~ERROR 等, 这个属性是只读的
__property unsigned char Ctrl; //并行口的状态, 包括 ~INIT, AUTOFD, STORE 等, 这些属性是可写的。
Flag 的各个位的定义:
enum TPrnFlags
{
pfIdle = 0x80, //F7 = ~BUSY
pfAck = 0x40, //F6 = ACK
pfPE = 0x20, //F5 = PE
pfOnLine = 0x10, //F4 = ONLINE
pfNoError = 0x08, //F3 = ~ERROR
};
Ctrl 的各个位的定义:
enum TPrnCtrls
{
pcIRQE = 0x10, //C4
pcSelect = 0x08, //C3
pcFInit = 0x04, //C2 = ~INIT
pcAutoFD = 0x02, //C1
pcStore = 0x01, //C0 = STORE
};
__property bool NoException; //这个属性是控制打印的, 默认为 false, 假如这个属性为 true, 打印不会抛出异常, 而是返回错误码
事件:
__property bool __fastcall (__closure *OnMakeSure)(TPrnError ErrCode); //产生错误时会触发这个事件, 默认的处理是询问是否重试
错误代码:
enum TPrnError
{
peNoError = 0,
peNotOnLine = -1,
peOutOfPaper = -2,
pePrinterErr = -3,
};
方法:
int printf(const char *format,...); //参数和标准 C 的 printf 相同, 返回值为错误码, 这个函数是从打印机输出数据
int vprintf(const char* format, va_list paramList); //参数和标准 C 的 vprintf 相同, 这个函数是从打印机输出数据
void InitPrinter(int iInitDelay=2000, int iInitWait=1000); //初始化打印机, 两个参数分别是初始化时间和初始化之后的延时(ms)
程式还提供了以下函数, 是大家所熟悉的端口操作函数, 可直接操作电脑的硬件端口, 这些函数可直接使用:
unsigned char inportb(unsigned short);
unsigned short inportw(unsigned short);
unsigned long inportd(unsigned short);
void outportb(unsigned short, unsigned char );
void outportw(unsigned short, unsigned short);
void outportd(unsigned short, unsigned long );
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash