グローバルフック対UAC

タブマンコはVistaのUACが有効な環境でも普通に起動出来て、
グローバルフックでエクスプローラの起動を感知し、タブに取り込む事ができる。
ところが、タブマンコがグローバルフックでエクスプローラを監視している状態の時は、
エクスプローラとは無関係であるはずの、Internet Explorerが起動しなくなる。
どうやら、ブラウザの操作を監視されて情報が漏れないよう、
なんらかの監視が効いてる状態ではIEを起動させない仕様らしい。
グローバルフックで監視されていても、IEを管理者権限で実行すれば起動する。
IEを使用しなければ、UACオンでも問題ない。
そこで話が終わればいいのだが、さらに複雑になる。

管理者権限でIEを起動すると、なぜか無関係のエクスプローラにも影響が出る。
タブマンコによるグローバルフックは効いていて、エクスプローラの起動を感知できるのだが、
起動したエクスプローラをタブに取り込むことが出来なくなる。
すなわち、普通は起動出来ないIEを無理矢理起動すると、
無関係なはずのエクスプローラに影響が出て、タブマンコが働けなくなる。
だからIEを管理者権限で起動するなってことで話が終わればいいのだが、まだ続く。

IEを管理者権限で実行したことによる影響を受けたエクスプローラは、
管理者権限で実行したタブマンコでならタブに取り込むことが出来る。
まとめると、タブマンコを管理者権限で実行し、IEも管理者権限で実行すれば、UACオンでも共存可能。
UACオフなら一切問題はない。
、自宅VistaはAdministratorログオンにしているので、UAC自体がない状態。
警告がうざいだけならUACオンでも構わないが、パソコンを不便にしてまで使う義理はない。
これほどの便利を犠牲にしてまで守りたいセキュリティなどない。

この件に関する対応をちょこっとした。
普通にスタートアップに登録すると管理者権限で実行されないので、UACオン環境だと問題が起る。
どうにかならないかとググってみたら、タスクスケジューラでログオン時に管理者権限で実行出来るらしい。
さっそく、スタートアップの登録ダイアログに、タスクスケジューラへの登録というオプションを増やした。
セキュリティ関連は自己責任なので、これ以上追求しない。

あとは操作性に関わる変更も一つやったが、使う側からしたらどうでもいいことだ。
見た目はエクスプローラをタブに取り込んでいても、OSから見ると別々のアプリとして動いているので、
タブマンコとエクスプローラの間でもタスク切り替えをしないといけない。
エクスプローラをダブルクリックしたつもりが、一回目のクリックはウィンドウ切り替えで効かなかったとか、
何かと複雑なことになるのはしょうがないこととしてあきらめている。
何もかもうまく行くという事はあきらめているが、それなりにうまく行く方法は常に追求していて、
なるべくその辺を自然にやるように、割と重大な変更をした。
これによって、変だと思う機会が減ると思うが、なくなるわけでもないし、
どこが変わったか見てわかるわけでもない。
作ってる側からすればカッキテキな事をやったが、だからって何でもない。

たぶん関連のある記事:

コメントは終了しています。