2007/04/30(月) UAC
VISTAのユーザーアカウント制御(UAC)には戸惑うことが多い。UNIX系OSのようなアカウント制御を導入しただけなのだが、面倒なのは管理者権限を持つユーザーであってもログオンすると標準ユーザーの権限しか与えられていないという部分。Linuxならrootになれば、何でもできてしまう。VISTAの場合はシステムの改変にかかわる部分を変更しようとすると、いちいち確認ダイアログが出る。
それだけならいいのだが、プログラムをインストールしているProgram Filesフォルダはシステムフォルダとされており、この中のファイルの改変ができない。これによって不具合の出るソフトウェアはけっこうあるだろう。自作の秀丸マクロがうまく動かなかったのもこのためだが、このフォルダの中にはインストーラーを使わないソフトウェアを手動では入れない方がいいということがようやく分かった。
HTML編集ソフトのez-htmlの場合もそうだった。このプログラム、iniファイルで設定を保存する形式。これがProgram Filesの中にあると、エラーが出る場合がある。HTMLLINTを設定して文法チェックを行ったら、「ファイルアクセスが拒否されました」とエラー。perlスクリプトの構文検証でも同じ。何のファイルへのアクセスが拒否されたのかこれだけでは分からないので悩んだが、ユーザーディレクトリにインストール場所を変えたらうまくいった。
分かりにくくなっているのはProgram Filesフォルダの中を書き換えたかのように見せかけて、実はユーザーディレクトリの中のC:\Users\hiro\AppData\Local\VirtualStore\Program Filesの中を書き換えていること。なんか、非常に回りくどく複雑なことをやっている感じがつきまとう。いったん、こういう仕組みを分かってしまえば、何とでもなるんですがね。
Namazu簡易検索クライアントbyなでしこ
秀丸マクロやSearch-Sを使っていたが、自分で作りたくなったので作った。ファイルメニューもない、ごくごく簡単なもの。検索して結果を標準ブラウザに表示するだけ。自分でローカルのファイルを検索するだけなら、これでも使えるか。DOS窓が一瞬開くのを何とかしたいところ。
ソースはこんな感じ。なでしこには久しぶりにさわった。
#Namazu簡易検索クライアント インデックスは「C:\namazu\var\namazu\index」 resultは「{母艦のパス}result.html」 母艦の幅は500 その高さは150 ウィンドウ背景色で画面クリア 母艦のタイトルは「Namazu簡易検索クライアント」 50,20へ移動 「検索キーワードを入力してください」と表示。 50、50へ移動。 検索エディタとはエディタ。 その幅は300。 そのIMEは「IMEオン」 検索エディタに注目 検索エディタのキー押した時は~ もし、検索エディタの押された仮想キー=13ならば 検索ボタンのクリックした時。 360、48へ移動。 検索ボタンとはボタン。 そのクリックした時は~ 検索結果 待機。 *検索結果 もし、検索エディタのテキストが「」ならば、 「検索キーワードを入力してください」と言う。 違えば、 検索キーワードは検索エディタのテキスト namazu検索は「namazu -a -h -o {result} {検索キーワード} {インデックス} 」 namazu検索を起動。 0.5秒待つ。 resultを起動。 戻る。
ただし、これ、標準ブラウザがIEの場合は検索結果からファイルにジャンプできない。FirefoxならOKだった。