当方の環境は, WindowXP Pro, VC++6.0, SDKです。
最近メッセージフックの事を知り、なんて便利な技術なんだ!と
感心していたのですが、グローバルフック技術を使用すれば、
あるフォルダを開こうとした時に、ウィンドウズシステムに
発行されるメッセージを盗聴し、引数などから開こうとしている
フォルダの名前を取得し、あらかじめ定めているフォルダ
と一致したらパスワードを入力しないとフォルダを開く事が
できないというようなプログラムが作れるのではと思いつきました。
しかし、フォルダが開かれる時にどういったメッセージ処理が
行われているのか、よく分かりません。
私の考えている事は実現可能なのでしょうか?
もし、可能であるのならどういったメッセージ処理が行われているのか
是非お教え願います。
何でもかんでもメッセージとは限りませんし、エクスプローラ以外のファイラを使われ
たら無力なのでは?
ファイル操作に関してはメッセージでは無いと思います。
むしろAPI呼び出しでは?
GUIの操作上のメッセージではシャノンさんの言われているように
エクスプローラー以外のファイラーを使われたら意味が無いですね。
グローバルメッセージフックはきちんと処理しないと
他のアプリケーションに迷惑がかかります。
なので使う必要があるなら使っても良いと思うのですけれど、
使うなら慎重に設計する必要があると思いますし、
安易に使うものでも無いと思います。
シャノンさん, PATIOさんご意見ありがとうございます。
ファイラはフォルダエクスプローラに対応していれば
良いので、その点は他のファイラを使用された場合の
事は考えていませんでした。(明記しておくべきでしたね)
しかし、メッセージングを駆使して解決できる問題では
ないのですね。それが分かっただけでも良かったです。
今回はこれで解決とさせていただきます。