小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

WebページからIEのホームページ(レジストリ)を変更する(JavaScriptバージョン)

時代はJavaScript・・・以前にVBScriptで組んだ以下を、JavaScriptマイグレーション(書き換え)してみました。
ちなみに、以下は、WebページからIEのホームページ(レジストリ)を変更するスクリプトです。


留意点として、WebページからのActiveXObject使用なのでIEの警告メッセージがでます。
また、レジストリ操作スクリプトのお約束メッセージ『ご自分の責任でおこなってください』です。

VBScriptサンプルソース

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>WebページからIEのホームページ(レジストリ)を変更する</title>
</head>
<body>
<script language="VBScript">
chg_HomePage()
Function chg_HomePage()
    If msgbox("IEのホームページを現ページに変更します。よろしいですか?",1) = 1 then
        Set WshShell=CreateObject("WScript.Shell")
       'RegReadメソッドで、レジストリ内の指定キー(現ホームページ)の設定値を取得する
        msgbox("元のホームページ -> " & WshShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\Main\Start Page"))
        'レジストリ内の指定キーの設定値を第2引数に指定された値で更新。第3引数には、レジストリに格納する値のデータ型を指定する
        WshShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",document.location, "REG_SZ"
        msgbox("変更後のホームページ -> " & WshShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\Main\Start Page"))
        Set WshShell = Nothing
    End If
End Function
</script>
</body>
</html>
http://d.hatena.ne.jp/chaichanPaPa/20080219/1203422647

JavaScriptサンプルソース

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>WebページからIEのホームページ(レジストリ)を変更する</title>
</head>
<body>
<script type="text/javascript">
chg_HomePage();
function chg_HomePage() {
    if (confirm("IEのホームページを現ページに変更します。よろしいですか?")) {
        var WshShell = new ActiveXObject("WScript.Shell");

        //RegReadメソッドで、レジストリ内の指定キー(現ホームページ)の設定値を取得する。
        alert("元のホームページ -> " + 
         WshShell.RegRead("HKCU\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page"));
 
        //レジストリ内の指定キーの設定値を第2引数に指定された値で更新。
        //第3引数には、レジストリに格納する値のデータ型を指定する
        WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page",
                          document.location, "REG_SZ");

        //RegReadメソッドで、レジストリ内の指定キー(現ホームページ)の設定値を取得する。
        alert("変更後のホームページ -> " + 
         WshShell.RegRead("HKCU\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page"));
        WshShell = null;
    }
}
</script>
</body>

VBScriptからJavaScriptへのマイグレーションポイント

  • セミコロンを付ける
  • if文でのmsgboxは、confirmへ
  • 平文でのmsgboxは、alertへ
  • CreateObjectは、new ActiveXObjectへ
  • 文字列の中の『\』は、『\\』へ
  • コメントの先頭の『'』は、『//』へ
  • 文字列の連結の『&』は『+』へ
  • Nothingはnullへ