直接运用 Windows API 做类似 DOS 环境下纯文字打印(无内容) 把prn作为文件,然后向它自己输出就可以。assignfile(h,'prn');rewrite(h);write(h,'Test output');closefile(h); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Assignfile可不是Win API函数如下: hPrn := CreateFile('LPT1', GENERIC_WRITE or GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if hPrn = INVALID_HANDLE_VALUE then showmessage('Print port open failed'); c:=0; WriteFile(hPrn, PChar(s)^, Length(s), c, nil); CloseHandle(hPrn);这样做有一个问题:就是如果打印机没开的话,程序就停住了,停在WriteFile上了如果在此期间把打印机连好,装好纸,程序就会自动往下走,但这样显的太傻了,需要在写端口之前检测端口状态。 我记得好象有一个API可以让你直接输出ESC命令打印的速度很快(因为是在文本格式下)。我要的就是这样的效果。 我记得好象有一个API可以让你直接输出ESC命令打印的速度很快(因为是在文本格式下)。我要的就是这样的效果。 sohotline(TBird): 请问我用COM1代替LPT1为什么不可以??? 在WM_IME_COMPOSITION如何清除输入法输入的内容 在delphi的应用程序调用vc的DLL的问题?? 第三方组件安装问题???????????????? 在label中实现MouseEnter,MouseExit事件 各位兄弟:我有几个简单的问题想请教! 为何 CmdLine 接收到的参数都变小写? 请问exitwindowsex如何在XP下正常运行? 本人急需一个点歌系统的程序 谁有Delphi的光盘 我用Delphi调用一个VC写的dll出错!求助!! 你做报表用什么控件? 有谁知道delphi中如何返回得到网页post各种参数后的页面或者网页源代码?
如下: hPrn := CreateFile('LPT1',
GENERIC_WRITE or GENERIC_READ,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
if hPrn = INVALID_HANDLE_VALUE then
showmessage('Print port open failed'); c:=0;
WriteFile(hPrn,
PChar(s)^,
Length(s),
c,
nil);
CloseHandle(hPrn);
这样做有一个问题:就是如果打印机没开的话,程序就停住了,停在WriteFile上了
如果在此期间把打印机连好,装好纸,程序就会自动往下走,但这样显的太傻了,需要在
写端口之前检测端口状态。
请问我用COM1代替LPT1为什么不可以???