開発ブログ - FireMonkey - OS X で URLをデフォルトブラウザで開く

FireMonkey - OS X で URLをデフォルトブラウザで開く

カテゴリ : 
技術メモ » Delphi » FireMonkey
執筆 : 
2013/12/15

OS X で URLをデフォルトブラウザで開く

アプリケーションを作るときに必ず作る About ダイアログ
About ダイアログに、ホームページのURL を記載することも多いですよね。
そして URL をクリックしたらホームページを開きたいものです。


Windows の場合は、URL を開くのに Shell API を使います。


uses
  Winapi.Windows, Winapi.ShellApi;

procedure ShowURL(const URL: String);
begin
  ShellExecute(0, 'open', PChar(URL), nil, nil, SW_SHOW);
end;

では OS X ではどのようにするのでしょうか?

Objective-C でデフォルトブラウザを開く

Objective-C でデフォルトブラウザで URL を開くには以下のようにします。


[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://example.com/"]];

from Mac OS XアプリからデフォルトのブラウザでURLを開きたい

Delphi で書いてみよう

これを Delphi で書き直すと


uses
  Macapi.Foundation, Macapi.AppKit;

procedure ShowURL(const URL: String);
var
  workspace: NSWorkspace;
  AUrl: NSURL;
begin
  workspace := TNSWorkspace.Wrap(TNSWorkspace.OCClass.sharedWorkspace);
  AUrl := TNSURL.Wrap(TNSURL.OCClass.URLWithString(NSSTR(URL)));
  workspace.openURL(AUrl);
end;

ちなみに、OS X では POSIX の _system関数を使って開く方法もあるそうです。
from 指定したURLをデフォルトのウェブブラウザで開く - 偏った言語信者の垂れ流し


   _system(PAnsiChar('open http://example.org/'));

コードとしてはこちらの方が短くて簡単ですね。 orz...



[参考サイト]

Mac OS XアプリからデフォルトのブラウザでURLを開きたい



[関連記事]

FireMonkey - OS X でバージョン情報を取得する

  • コメント (0)
  • トラックバック (0)

コメントの投稿

お気軽にコメントください : 投稿されたコメントは承認後に表示されます
プロダクツ

開発ブログ

Link

AD