Tips その9


URLにジャンプするには

最近のフリー/シェアウェアのバージョン表示などには、よく作者のページへジャンプするリンク文字のようなものがかかれています。それがクリッカブルになっていて、クリックすると、直接そのページが開かれるという、あれです。

やり方はいろいろあるかもしれませんが、私が知っているのは HlinkNavigateString() というAPI関数を使用するやり方です。多分これが一番簡単です。

function HlinkNavigate(StrURL: String; PUnk: IUnknown): HRESULT;
var
  wchURL: PWideChar;
begin

  // メモリ割り当て
  wchURL:= AllocMem(SizeOf(WideChar) * (Length(StrURL)));
  try
    // String → UNICODE 変換
    StringToWideChar(strURL, wchURL, Sizeof(WideChar) * Length(StrURL));
    // URLにジャンプ
    Result:= HlinkNavigateString(PUnk, wchURL);
  finally
    // メモリ開放
    FreeMem(wchURL);
  end;

end;

これが通常アプリである場合は、PUnk は nil でいいです。これで呼び出すとWWWブラウザが自動的に立ち上がるようになります。もしこれを ActiveForm で使用する場合で、自分貼り付いているWWWブラウザのページを移動したい場合、 PUnk には ComObject を指定します。

この他に、ShellExecute() Win32API関数を使うこともできます。この第2引数(FileName)に対象のURLを渡すと、ブラウザが起動してそのURLを開きます。


[ Delphi へ戻る ]