ShellExecute从流而不是文件打印

时间:2012-08-25 19:42:04

标签: delphi delphi-xe2

有了这个

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

可以打印出文件。

有没有办法可以使用TStream代替文件,以便我可以直接从我的信息流中打印出来?

1 个答案:

答案 0 :(得分:4)

不,您不能使用ShellExecute从Delphi流中打印。对ShellExecute的调用将导致执行打印操作的不同进程。而且这个不同的过程无法看到你的Delphi流。

我想到了几个选择:

  1. 将流保存到临时文件,然后使用ShellExecute
  2. 进行打印
  3. 直接从Delphi打印文本。一种快速而肮脏的方法是将文本添加到TRichEdit并调用其Print方法。 Andreas Rejbrand有更多详情here