Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-06-30

Operaの右クリックメニューを編集(2)

| Operaの右クリックメニューを編集(2) - そっとなでしこ を含むブックマーク はてなブックマーク - Operaの右クリックメニューを編集(2) - そっとなでしこ

 前回の記事では、右クリックメニューの設定INIファイルを編集するスクリプトを書いてみました。

 しかし、Operaを新規インストールした直後の状態では、この右クリックメニューの設定INIファイル(通称"menu.ini")は存在していません。このINIファイルは、[設定]メニュー>[詳細設定]>[ツールバー]>[メニュー]からメニューの編集・複製を行った時に自動生成されます。

 そこでさらに、この右クリックメニューの設定INIファイルの作成と、作成されたINIファイルをOperaが起動時に読み込むように設定することもスクリプト化してみたいと思います。

■自動化する処理内容の整理

■右クリックメニューの設定INIファイルの作成

 右クリックメニューの設定INIファイルは、次の場所に格納された初期設定のINIファイルをコピーして自動生成されているようです。

C:\Program Files\【インストールフォルダ】\ui\standard_menu.ini

 この初期設定のINIファイルが以下の場所にコピーされるわけです(windows2000での例)。

C:\Documents and Settings\【ユーザー名】\Application Data\Opera\【インストールフォルダ】\menu\standard_menu (1).ini
■Operaが起動時に読み込むINIファイルの指定

 Operaが起動時に読み込む右クリックメニューの設定INIファイルの指定は「operaprefs.ini」で行っています。

 このファイルは以下の場所にあります(windows2000での例)。

C:\Documents and Settings\【ユーザー名】\Application Data\Opera\【インストールフォルダ】\operaprefs.ini

INIファイル「operaprefs.ini」の「User Prefs」セクションにあるキー「Menu Configuration」の値を「{SmallPreferences}menu\standard_menu (1).ini」と指定することで、上記のコピーされた右クリックメニューの設定INIファイルをOperaが起動時に読み込んでくれるようです。

■ソースコード

 上記の処理を自動化しようとすると、こんな感じ。

#-----------------------------------------------------------------------
# 定数の定義
#-----------------------------------------------------------------------
!インストールフォルダは「Opera_1060_3444」。
!Menuパスは「{アプリ設定フォルダ}Opera\{インストールフォルダ}\menu\」。
!Menuファイル名は「standard_menu (1).ini」。
#-----------------------------------------------------------------------
# メイン処理
#-----------------------------------------------------------------------
Menuパスにフォルダ作成。
「{PROGRAMFILESパス}{インストールフォルダ}\ui\standard_menu.ini」から「{Menuパス}{Menuファイル名}」へファイルコピー。

ハンドルは「{アプリ設定フォルダ}Opera\{インストールフォルダ}\operaprefs.ini」のINI開く。
ハンドルで「User Prefs」の「Menu Configuration」に「{波カッコ}SmallPreferences{波カッコ閉じ}menu\standard_menu (1).ini」をINI書く。
ハンドルのINI閉じる。

「完了しました」と言う。
母艦を閉じる。


【参考リンク】

■更に楽ちんなOperaバージョンアップ作業を求めて

 さて、次は更に、Operaを上書きせずクリーンインストールする際に毎回設定ダイアログから手動設定している以下の作業を自動化してみたい。

 「operaprefs.ini」を編集するだけなので、今回のスクリプトと同じことをすれば良い。ただ、今度はINIファイルに設定する値をスクリプト内で固定的に記述するのではなく、外部ファイルに記述し、それをスクリプトが読み込むようにし、スクリプトの汎用性を高めてみたい。