JURIA @Wiki
@あれこれ-2008年2月
最終更新:
juria
-
view
@あれこれ-2008年2月
[2008-02-22]
レジストリの怪 &bookmark_hatena(show=none)
昨日、
TheWorld Browser
は、設定の仕方によっては「レジストリを変更することは
無さそう」と書いたのだけど、実は、ひとつキーが追加されているのを発見した。
無さそう」と書いたのだけど、実は、ひとつキーが追加されているのを発見した。
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main \FeatureControl\FEATURE_BLOCK_LMZ_SCRIPT] "TheWorld.exe"=dword:00000000
マイクロソフトの
ここ
や
ここ
の説明によれば、
FEATURE_BLOCK_LMZ_SCRIPT レジストリキーは、IE 7 で新しく追加されたキーで、
スクリプトから個人情報を収集できないようにするセキュリティ強化目的で、ユーザの
ローカルファイルシステムからのスクリプトアクセスブロックを制御する設定らしい。
FEATURE_BLOCK_LMZ_SCRIPT レジストリキーは、IE 7 で新しく追加されたキーで、
スクリプトから個人情報を収集できないようにするセキュリティ強化目的で、ユーザの
ローカルファイルシステムからのスクリプトアクセスブロックを制御する設定らしい。
このセキュリティ機能を "オプトアウト"(明示的に無効に)する場合はプロセス名を
追加、値を 0x00000000 に、"オプトイン"する場合は、値を 0x00000001 に設定しろ、
とのこと。
IE インターネット オプションで
「マイ コンピュータのファイルでのアクティブ コンテンツの実行を許可する」設定が
有効にしてあっても、可否をアプリごとに設定可能になった、ということかいな?
追加、値を 0x00000000 に、"オプトイン"する場合は、値を 0x00000001 に設定しろ、
とのこと。
IE インターネット オプションで
「マイ コンピュータのファイルでのアクティブ コンテンツの実行を許可する」設定が
有効にしてあっても、可否をアプリごとに設定可能になった、ということかいな?
つまり、
TheWorld Browser
のセキュリティ関連のデフォルト設定では、ローカルでの
スクリプト実行はオッケーになってるわけ。それはそれでどっかで変更できるのかも
しれないけど(未確認)、このマシン、まだ IE 6 なんです、てか 7 にする気は
無い。はたして、IE 6 でもこのレジストリーキーは有効に働くのかどうか、試すのは
怖いね。
スクリプト実行はオッケーになってるわけ。それはそれでどっかで変更できるのかも
しれないけど(未確認)、このマシン、まだ IE 6 なんです、てか 7 にする気は
無い。はたして、IE 6 でもこのレジストリーキーは有効に働くのかどうか、試すのは
怖いね。
[2008-02-21]
デフォルトブラウザ &bookmark_hatena(show=none)
TheWorld Browser
は、設定は TheWorld.ini に保存する。
インストーラを使わず、デフォルトブラウザに指定せず、お気に入りのディレクトリの
場所を変更し、TheWorld ダウンロードマネージャをサイドバーとコンテキスト
メニューに表示 のチェックを外しておけば、レジストリを変更することは無さそうで
(後述)、
USB 等からも使える気がするのだけど、ハイパーリンクテキストをクリックした時に
想定外のブラウザが立ち上がって欲しくは無いよね。
インストーラを使わず、デフォルトブラウザに指定せず、お気に入りのディレクトリの
場所を変更し、TheWorld ダウンロードマネージャをサイドバーとコンテキスト
メニューに表示 のチェックを外しておけば、レジストリを変更することは無さそうで
(後述)、
USB 等からも使える気がするのだけど、ハイパーリンクテキストをクリックした時に
想定外のブラウザが立ち上がって欲しくは無いよね。
というわけで、
1.HTTP / HTTPS プロトコルに TheWorld で開くアクションを追加(DDE を使う)
「規定に設定」、アイコンの変更はお好みで。
# 試しにインストーラーでインストール後にアンインストールしてみたけど、
それだけではアイコンは元に(それまでのデフォルトブラウザ Lunascape
にも IE にも)戻らなかった。
一旦、Lunascape の関連付けを全て外し、「プログラムのアクセスと規定の
設定」と マイクロソフトさまご推奨の方法 で規定のブラウザを IE に戻して
からやることに。)
1.HTTP / HTTPS プロトコルに TheWorld で開くアクションを追加(DDE を使う)
「規定に設定」、アイコンの変更はお好みで。
# 試しにインストーラーでインストール後にアンインストールしてみたけど、
それだけではアイコンは元に(それまでのデフォルトブラウザ Lunascape
にも IE にも)戻らなかった。
一旦、Lunascape の関連付けを全て外し、「プログラムのアクセスと規定の
設定」と マイクロソフトさまご推奨の方法 で規定のブラウザを IE に戻して
からやることに。)
フォルダオプション
http URL : HyperText 転送プロトコル(HTTP) https URL : HyperText 保護機能つき転送プロトコル(HTTPS)
レジストリ
[HKEY_CLASSES_ROOT\HTTP\shell] @="TheWorld" [HKEY_CLASSES_ROOT\HTTP\shell\TheWorld] [HKEY_CLASSES_ROOT\HTTP\shell\TheWorld\command] @="D:\\Application\\Internet\\TheWorld\\TheWorld.exe \"%1\"" [HKEY_CLASSES_ROOT\HTTP\shell\TheWorld\ddeexec] HKEY_CLASSES_ROOT\https\shell (割愛)
拡張子の関連付けを弄るツールはいくつもあるけど、プロトコルの設定を弄るツールは
あるのだろうか?
あるのだろうか?
2.HTMLドキュメント(.htm / .html この二つは一身胴体らしい)に
TheWorld Browser で開くアクションを追加(DDE を使う)、規定に設定しない。
.htm / .html ファイルのコンテキストメニューに表示されるが、不要なら
FileTypesMan で不可視(disable)に。再度フォルダオプションを弄ると
可視に戻ってしまうので注意、っつーか、フォルダオプションより、はじめから
FileTypesMan で設定する方が分かりやすい。
TheWorld Browser で開くアクションを追加(DDE を使う)、規定に設定しない。
.htm / .html ファイルのコンテキストメニューに表示されるが、不要なら
FileTypesMan で不可視(disable)に。再度フォルダオプションを弄ると
可視に戻ってしまうので注意、っつーか、フォルダオプションより、はじめから
FileTypesMan で設定する方が分かりやすい。
フォルダオプション
.htm / .html : HTMLドキュメント
レジストリ
HKEY_CLASSES_ROOT\htmlfile\shell @="opennew" --- [HKEY_CLASSES_ROOT\htmlfile\shell\opennew] @="開く(&O)" [HKEY_CLASSES_ROOT\htmlfile\shell\opennew\command] @="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %1" --- [HKEY_CLASSES_ROOT\htmlfile\shell\TheWorld] @="TheWorldで開く(&T)" [HKEY_CLASSES_ROOT\htmlfile\shell\TheWorld\command] @="\"D:\\Application\\Internet\\TheWorld\\TheWorld.exe\" \"%1\""
ローカルにある html ファイルは、ファイラーやランチャー、AHK スクリプトの連携で
その都度開くアプリを選択してるから、アクションを追加する必要はほとんど無い
のだけど、こうしておくと、 TheWorld Browser が起動していれば関連付け実行でも
横取りしてくれるんよね。インターネットショートカットファイル(.url)も。
その都度開くアプリを選択してるから、アクションを追加する必要はほとんど無い
のだけど、こうしておくと、 TheWorld Browser が起動していれば関連付け実行でも
横取りしてくれるんよね。インターネットショートカットファイル(.url)も。
んで、この HTMLドキュメント(htmlfile)の「規定」に設定されているブラウザが
デフォルト(標準のブラウザ)になるみたい。
つまり、[HKEY_CLASSES_ROOT\htmlfile\shell] のデータに指定されてるアクション。
デフォルト(標準のブラウザ)になるみたい。
つまり、[HKEY_CLASSES_ROOT\htmlfile\shell] のデータに指定されてるアクション。
ブラウザによっては、アンインストール時にここを元(opennew)にもどさず、いくら
HKEY_CLASSES_ROOT\htmlfile\shell\open\command や \opennew\command に IE が
登録されていても、IE がデフォルトのブラウザとして認識されないわけ。1.で
Web の設定をリセットし、URL プロトコルファイルを再登録 した時に戻った、
たぶん。
HKEY_CLASSES_ROOT\htmlfile\shell\open\command や \opennew\command に IE が
登録されていても、IE がデフォルトのブラウザとして認識されないわけ。1.で
Web の設定をリセットし、URL プロトコルファイルを再登録 した時に戻った、
たぶん。
3.
EdMax
でメールの URL クリックで指定のブラウザを起動するには。
・ EdMax++ プラグイン改 (eplus.dll)を Plugins フォルダに置き、
[設定]→[プラグインの設定]→[Edmax++ の設定]で
起動ブラウザを指定、「URLダブルクリック時に上記ブラウザを起動」チェック
・[設定]→[メーラー設定]→[操作]タブ
「シングルクリックで URLをブラウザで開く(&C)」のチェックを外す。
・ EdMax++ プラグイン改 (eplus.dll)を Plugins フォルダに置き、
[設定]→[プラグインの設定]→[Edmax++ の設定]で
起動ブラウザを指定、「URLダブルクリック時に上記ブラウザを起動」チェック
・[設定]→[メーラー設定]→[操作]タブ
「シングルクリックで URLをブラウザで開く(&C)」のチェックを外す。
「シングルクリックでURLをブラウザで開く」チェックを外せばいいことに
気付くのに3日もかかったよ。外さないと デフォルトの IE も起動しないので
焦るよ。あはは。
規定に設定したブラウザと Edmax++ で指定したブラウザが同じ場合はチェック
付けたままでオッケー。
気付くのに3日もかかったよ。外さないと デフォルトの IE も起動しないので
焦るよ。あはは。
規定に設定したブラウザと Edmax++ で指定したブラウザが同じ場合はチェック
付けたままでオッケー。
[2008-02-10]
見よう見まねでプラグイン &bookmark_hatena(show=none)
(あまり使わないが)RSS は
TheWorld Browser
サイトで配布されてるプラグインを入れ、私的に必須の Internet Archive で開いているページを検索するプラグインを
作った。プラグインと言うよりスクリプトだけど。
plugin フォルダの下に wayback とか適当な名前のフォルダ作って以下の3つの
ファイルを置き、[ツール]→[インターフェース & プラグイン] で有効にする。
プラグインバー([表示]→[ツールバー])にボタンが表示される。
作った。プラグインと言うよりスクリプトだけど。
plugin フォルダの下に wayback とか適当な名前のフォルダ作って以下の3つの
ファイルを置き、[ツール]→[インターフェース & プラグイン] で有効にする。
プラグインバー([表示]→[ツールバー])にボタンが表示される。
plugin.ini
[General] Name=Internet Archive Author=juria Version=0.0.1 ModuleType=SCRIPT FileName=wayback.html Comments=Take Me Back on Internet Archive. Type=BUTTON HotIcon=wayback.ico Icon=wayback.ico StartAfterPageDone=
wayback.html
<script language="JavaScript"> var url; url=window.location.href; address='http://web.archive.org/*/'+url+''; window.open(address); </script>
wayback.ico
Internet Archive の favicon.ico を拝借
Internet Archive の favicon.ico を拝借
TheWorld Browser に変えてみた &bookmark_hatena(show=none)
WEB 2.0 の時代、ローカルにアプリを置かず WEB アプリケーションを利用する時代に
なりつつあるそうな。各ブラウザはそう言ったサービスを利用しやすい方向に開発・
機能拡張されて行くわけだが、動作の軽快さが失われてはイライラするだけになる。
なりつつあるそうな。各ブラウザはそう言ったサービスを利用しやすい方向に開発・
機能拡張されて行くわけだが、動作の軽快さが失われてはイライラするだけになる。
そんなエラそうな理由じゃなく、漠然と今のブラウザがイヤになっただけなんだけど。
起動時に、前回終了時のタブ一覧から復元したいページを選べたり、タブの多段表示を
しない(そうするつもりは無いらしい)代わりに、開いている全てのタブをサムネイル
で一覧表示できるところに惹かれて、 TheWorld Browser
三段四段にもなったタブバーから限られた文字数や内容と関係ないタイトルを見て
ページを行き来する煩わしさはみな経験してるでしょ?
しない(そうするつもりは無いらしい)代わりに、開いている全てのタブをサムネイル
で一覧表示できるところに惹かれて、 TheWorld Browser
三段四段にもなったタブバーから限られた文字数や内容と関係ないタイトルを見て
ページを行き来する煩わしさはみな経験してるでしょ?
(Windows 2000/XP/Vista Zip(Japanese) 版使用)
ほとんどのコマンドにユーザがホットキーを割り当てられるのだが、今のところ、
そのタブリスト表示コマンドが選択肢に無いので、AHK 書いてみた。
(左クリックでサムネイル一覧、右クリックならタブのタイトル一覧)
そのタブリスト表示コマンドが選択肢に無いので、AHK 書いてみた。
(左クリックでサムネイル一覧、右クリックならタブのタイトル一覧)
IfWinExist, ahk_class XFrame_Wnd ControlClick, XCtrl_Wnd34, ahk_class XFrame_Wnd, , LEFT, 1, X3 Y3 Sleep, 200 If ErrorLevel = 0 WinActivate
ところが、このコントロールの ClassNN は開いているタブの数に応じて数字が増加
して行くのだった。カーソルキーで選んだサムネイル(非アクティブなタブ)を
キーボードで閉じられないし、このあたり今後対応して欲しいところ。
選択文字列左ドラッグでコピー、右ドラッグで検索とか、世はマウスジェスチャー全盛か。。。
して行くのだった。カーソルキーで選んだサムネイル(非アクティブなタブ)を
キーボードで閉じられないし、このあたり今後対応して欲しいところ。
選択文字列左ドラッグでコピー、右ドラッグで検索とか、世はマウスジェスチャー全盛か。。。
ver.2.1 Spring
デフォルトで設定されているキー割り当て(下記、Windows 標準含む)はあまり
無いので、キーカスタマイズはユーザが気合を入れられるところ。
デフォルトで設定されているキー割り当て(下記、Windows 標準含む)はあまり
無いので、キーカスタマイズはユーザが気合を入れられるところ。
"新規タブ......Ctrl + T" "現在のページをコピー......Ctrl + Shift + N" "ホームページ......Alt + Home" "ウィンドウ......Ctrl + N" "開く......Ctrl + O" "保存......Ctrl + S" "イメージを別名保存......Ctrl + M" "タブを閉じる......Ctrl + W" "タブを復元......Ctrl + E" "印刷......Ctrl + P" "切り取り......Ctrl + X" "コピー......Ctrl + C" "貼り付け......Ctrl + V" "すべて選択......Ctrl + A" "ページ内検索......Ctrl + F" "サイドバー......Ctrl + Shfit + S" "検索バー......Ctrl + F" "ページを拡大......Ctrl + NumPad + " "ページを縮小......Ctrl + NumPad -" "標準に戻す......Ctrl + NumPad /" "Flash を無効化......Ctrl + Alt + F" "完全更新......Ctrl + F5" "すべて更新......Shift + F5" "全画面......F11" "お気に入りに追加......Ctrl + D" "現在のページのフォームに入力......Alt + Q" "現在のページのフォームのデータを保存......Alt + 1" "アドレスボックスにフォーカス......Alt + D"
タブリストで操作するためにキー割り当てを追加
"タブをアクティブモードに切り替え......Ctrl + Shift + T" "すべての非アクティブタブを閉じる......Ctrl + Shift + X"
[2008-02-03]
Window 指定の怪 &bookmark_hatena(show=none)
昨日のヤツ、Delphi 製アプリのメインフォームを指定しても PID が取得できない
みたい。となると、サイズ 0 の TApplication という Window を除外するわけには
行かない。
みたい。となると、サイズ 0 の TApplication という Window を除外するわけには
行かない。
除外 Window 指定の方法は中々厄介みたいな話を
流行らせるページ管理人さんの所
で
見たんだけど、ウインドウスタイルは理解力不足ですっ飛ばし。とりあえず、
TApplication は置いといて座標指定でゴミを除外、DetectHiddenWindows,On が
少しは見やすいかも。手抜き。
見たんだけど、ウインドウスタイルは理解力不足ですっ飛ばし。とりあえず、
TApplication は置いといて座標指定でゴミを除外、DetectHiddenWindows,On が
少しは見やすいかも。手抜き。
WinGetPos, x, y, this_width, this_hight, ahk_id %this_id% ・・・・ If (y=0) or (t=space) Continue
[2008-02-02]
吹けよ風、呼べよコンテキストメニュー &bookmark_hatena(show=none)
起動中の(ウインドウを持つ)プロセスを選択してその実行ファイルのコンテキスト
メニューを表示する。タイトルバーに作業中のファイルのパスのみが表示されていれば
そのファイルのコンテキストメニューも(サブメニュー)。
メニューを表示する。タイトルバーに作業中のファイルのパスのみが表示されていれば
そのファイルのコンテキストメニューも(サブメニュー)。
リファレンスのサンプル
と、eamat さまの
「 プロセスIDを指定して実行ファイルパスを得る関数 getProcessExeNameNT(pid) 」
(元ネタは AutoHotkeyを流行らせるページ 旧雑記サルベージ )を
組み合わせた程度のもの^^;
「 プロセスIDを指定して実行ファイルパスを得る関数 getProcessExeNameNT(pid) 」
(元ネタは AutoHotkeyを流行らせるページ 旧雑記サルベージ )を
組み合わせた程度のもの^^;
メインメニューのアイテム名はウインドウタイトル、サブメニューのアイテム名は
ウインドウタイトルとプロセス ID + プロセス名。PID が欲しいがために、とっても
幼稚なやり方。
ウインドウタイトルとプロセス ID + プロセス名。PID が欲しいがために、とっても
幼稚なやり方。
#NoTrayIcon ;#Persistent ;#SingleInstance force ;DetectHiddenWindows,On ; eamat 氏によるプロセスIDを指定して実行ファイルパスを得る関数 #include getProcessExeNameNT.ahk ;ContextMenu.exe のパス ContextMenu = D:\Application\Filer\util\contextmenu\ContextMenu.exe ;----- ウィンドのウリスト作成 WinGet, id, list, , , Program Manager Loop, %id% { this_id := id%A_Index% WinGetTitle, this_title, ahk_id %this_id% Winget, this_pid, pid, ahk_id %this_id% Winget, this_proc, ProcessName, ahk_id %this_id% WinGetClass, this_class, ahk_id %this_id% WinGetPos, , , this_width, this_hight, ahk_id %this_id% t = %this_title% p = %this_pid% n = %this_proc% c = %this_class% w = %this_width% h = %this_hight% ; ウィンドウサイズが 0 とタイトルが無いものを除外 ; 後者は DetectHiddenWindows, On の場合を考慮 If (h=0 and w=0) or (t=space) Continue ;タイトルバーが存在するファイルパスだったら If(InStr(t,"\") && FileExist(t)) { Menu, Sub, Add, %t%, getFile Menu, Sub, Add, %p% %n%, getPath Menu, Main, Add, %t%, :Sub } else Menu, Main, add, %t%, getWindow } Menu, Main, Show Return getWindow: WinGet, pid, pid, %A_ThisMenuItem% e := getProcessExeNameNT(pid) Run, %ContextMenu% %e% Return getPath: StringSplit, procPid, A_ThisMenuItem, %A_Space% pid = %procPid1% e := getProcessExeNameNT(pid) Run, %ContextMenu% %e% Return getFile: e = %A_ThisMenuItem% Run, %ContextMenu% %e%
さて、タイトルバーのファイルパスを含むテキストをどうしたもんかと検索してたら
すでにTOKKY さまが 自家製「menuHacker」 で同じようなことをなさっていました。
Lynx や xyzzy はバックスラッシュだしなあ。(MenuHacker でもとれないのさ。)
すでにTOKKY さまが 自家製「menuHacker」 で同じようなことをなさっていました。
Lynx や xyzzy はバックスラッシュだしなあ。(MenuHacker でもとれないのさ。)
-