• ベストアンサー
  • すぐに回答を!

Perl/TkでURLを既定のブラウザで開く方法

  • 質問No.5170399
  • 閲覧数516
  • ありがとう数7
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 81% (39/48)

Perl/TkでGUIプログラミングをしております。
プログラム中のButtonを押した時に自分のパソコンに設定している
既定のブラウザでWEBサイトを開くにはどうすればいいでしょうか?
イメージは下記のような感じです。

use Tk;
use Encode;

$url = "http://okwave.jp/";

$main->Button(-text=>decode("cp932","URLを開く"),-font => ["MS ゴシック", 12],
-command => \&open_url)
->grid(-row=>0,-column=>0);

sub open_url{
# 既定のブラウザでURL($url)を開く処理
}

よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.3
  • ベストアンサー

ベストアンサー率 57% (26/45)

Win32::FileOpが標準モジュールか忘れましたが、それを使えばプロンプトも開きません。

use Win32::FileOp qw(ShellExecute);

$url = "http://okwave.jp/";
ShellExecute($url);
お礼コメント
xkuonx

お礼率 81% (39/48)

標準モジュールでは無かったので
ppm install Win32-FileOp
にてインストール後、上記ソースで目的を達成できました。
ありがとうございます。
投稿日時:2009/08/07 21:38

その他の回答 (全3件)

  • 回答No.4

ベストアンサー率 57% (26/45)

コマンドプトンプト、一瞬開きますね・・・。すみません。
お礼コメント
xkuonx

お礼率 81% (39/48)

書き忘れていて申し訳ないのですが、私の環境では
コマンドプロンプトが表示される事なくWEBページを開けました。
OS:Windows XP Pro SP3
Perl:Active Perl v5.8.6 build 811
投稿日時:2009/08/07 21:41
  • 回答No.2

ベストアンサー率 67% (102/152)

#!/usr/bin/perl
use warnings;
use strict;

# 方法 2 jscript か vbscriptを使う。
# ただし、jscript か vbscript のスクリプトファイルを
# 別途用意する必要がある。

my $uri = shift || 'http://google.co.jp';
my $jscript = shift || 'foo.js';
my $cmd = 'cscript.exe';
my $option = '//nologo';

open( my $ph, '-|', $cmd, $option, $jscript, $uri ) or die "$cmd:$!";
close $ph or die "$cmd:$!";

foo.js の 中身
WScript.CreateObject("WScript.Shell").Run(WScript.Arguments.Item(0));
お礼コメント
xkuonx

お礼率 81% (39/48)

jscriptかvbscriptで出来るようなのを見つけていました。
perlでの使い方を教示頂きありがとうございます。
別途ファイルが必要という事だったので、
今回は見送らせて頂きます。
機会があれば使わせて頂きますね。
投稿日時:2009/08/07 21:37
  • 回答No.1

ベストアンサー率 67% (102/152)

#!/usr/bin/perl
use strict;
use warnings;

# Windows 限定
my $uri = shift || 'http://google.co.jp';
my $cmd = 'cmd.exe /c start ' . $uri;
system $cmd;
お礼コメント
xkuonx

お礼率 81% (39/48)

ありがとうございます。
上記方法で目的を達成できました。
一瞬コマンドプロンプトが表示されますが…
これを表示しないようにするのは少し手間かかるみたいですね。
投稿日時:2009/08/01 04:49
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ