我有一个应用程序,可以直接将命令写入一些特定打印机的LPT1端口。代码如下:
AssignFile(t, 'LPT1');
Rewrite(t);
Write(t,#27 + '@'); // initialize
Sleep(50); // avoid buffer fill
Write(t,#27#32 + Chr(0)); // set default font
...
问题在于当打印机未连接到端口时,第一个Write指令不起作用,它只是挂起并且整个线程被锁定。
有没有一种方法可以为这些指令定义超时,或者您可以推荐另一个库来完成此工作?如果它具有类似Delphi中的Write函数,那就太好了,因为使用这种方法的代码量非常大,更改所有代码将非常困难。
GetCommTimeouts
和SetCommTimeouts
函数。 - Val Marinov