Delphi 控制台应用程序如何检查是否重定向到文件或管道?  
官方Delphi 学习QQ群: 682628230(三千人)
频道

Delphi 控制台应用程序如何检查是否重定向到文件或管道?


您可以使用GetStdHandle和GetFileType功能。


首先使用 GetStdHandle 函数检索控制台输出句柄,然后可以使用该函数检查句柄的类型GetFileType。


{$APPTYPE CONSOLE}


{$R *.res}


uses

  Windows,

  SysUtils;



function ConsoleRedirected: Boolean;

var

  FileType : DWORD;

begin

  FileType:= GetFileType(GetStdHandle(STD_OUTPUT_HANDLE));

  Result  := (FileType=FILE_TYPE_PIPE) or (FileType=FILE_TYPE_DISK);

end;



begin

  try

    if ConsoleRedirected then

      Writeln('Hello From File')

    else

      Writeln('Hello Console');

  except

    on E: Exception do

      Writeln(E.ClassName, ': ', E.Message);

  end;

end.如何检查我的 Delphi 控制台应用程序是否重定向到文件或管道?<br/>



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.042917966842651 seconds