[Delphi]使用InternetGetConnectedState API偵測目前電腦網路的連線狀態

[Delphi]使用InternetGetConnectedState API偵測目前電腦網路的連線狀態

看到網路上有人熱心地提供一篇 「[C#]使用InternetGetConnectedState API偵測目前電腦網路的連線狀態」,於是順手改了一下換成 Delphi 版本的,如果有用 Delphi 的朋友可以同時參考一下 C# 的寫法和 Delphi 的差異,這樣以後遇到相關程式要找 Sample 的時候,就可以不限制只能找 Delphi 的資料了。

   1: program Project1;
   2:  
   3: {$APPTYPE CONSOLE}
   4:  
   5: uses
   6:   SysUtils, Windows;
   7:  
   8: function InternetGetConnectedState(var flags:integer;Reserved:integer):boolean;stdcall;external 'wininet.dll';
   9:  
  10: var
  11:   flags:integer;
  12:   isNetworkAvailable: Boolean;
  13:   a:string;
  14: begin
  15:   try
  16:     { TODO -oUser -cConsole Main : Insert code here }
  17:     isNetworkAvailable := InternetGetConnectedState( flags, 0 );
  18:     Writeln(Format('Network available: %s (%d)', [Booltostr(isNetworkAvailable,True), flags]));
  19:     Writeln('Wait to continue');
  20:     Read(a);
  21:  
  22:   except
  23:     on E: Exception do
  24:       Writeln(E.ClassName, ': ', E.Message);
  25:   end;
  26: end.