2

有了这个

ShellExecute(Handle, 'print', PChar(ExtractFilePath(ParamStr(0))+'Test.txt'), 
   nil, nil, SW_HIDE);

可以打印文件。

有没有办法可以使用 aTStream而不是文件,以便我可以直接从我的流中打印?

4

1 回答 1

4

不,您不能用于ShellExecute从 Delphi 流中打印。调用ShellExecute将导致执行打印操作的不同进程。而那个不同的进程看不到你的 Delphi 流。

有几个选项浮现在脑海中:

  1. 将流保存到临时文件,并使用ShellExecute.
  2. 直接从 Delphi 打印文本。一种快速而肮脏的方法是将文本添加到 aTRichEdit并调用其Print方法。Andreas Rejbrand在这里有更多细节。
于 2012-08-25T19:45:17.800 回答