xp下如何不装驱动,就可以通过并口用pos58打印(300分)

  • 主题发起人 maoyuhua
  • 开始时间
M

maoyuhua

Unregistered / Unconfirmed
GUEST, unregistred user!
编写POS打印程序时,如果在WIN2000下可以使用下列代码,直接从lpt打印口打印:
try
ASSIGNFILE(F,'LPT1');
REWRITE(F);
WRITE(F,'test');
finally
CLOSEFILE(F);
end;

如果是XP下,则需要安装打印驱动,然后使用下列代码也可以直接驱动打印:
procedure WriteRawStringToPrinter(S:String);
var
Handle: THandle;
N: DWORD;
do
cInfo1: TDocInfo1;
A: array[0..500] of Char;
begin
Printer.PrinterIndex:=-1;
strPCopy(a,printer.Printers[Printer.PrinterIndex]);
if not OpenPrinter(a, Handle, nil) then
begin
ShowMessage('error ' + IntToStr(GetLastError));
Exit;
end;
try
withdo
cInfo1do
begin
pDocName := pAnsiChar('netluckdo
c');
pOutputFile := nil;
pDataType := 'RAW';
end;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, strPCopy(a,S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
finally
ClosePrinter(Handle);
end;
end;

我现在想要问的问题的是,能不能在XP下不安装打印驱动,也能象在win2000下,通过并口直接打印?
由于此问题比较难,谁解决了,我愿意给1000分.
 
顶部