投稿者 るきお  (社会人) 投稿日時 2009/2/2 21:42:58
ご質問の答えではありませんが回答を書きます。

>かずきさんが作ろうとしているプログラムというのは、とっても高度で初心者レベルでは
>手をだせないようなシロモノなのではないかと、ふと思ったのですが、
そうですね。要件にもよりますがかなり困難なプログラムになると思います。

たとえば、①かずきさんが作ったプログラムにフォルダやファイルにアクセスする機能があって、
そのときに外部ドライブ(外付けドライブ?)上にあるフォルダ・ファイルにアクセスする場合は
パスワードを要求するということでしたら、それほど難しくありません。

しかし、②マイコンピュータなどWindowsに備わっている機能から、外部ドライブにアクセスするときや
Excelなどでファイルを開いたり保存したりするときに外部ドライブを指定する場合などに
パスワードを要求しようとするのであればかなり難しいです。

>マイコンピュータから外部ドライブにアクセスするときにパスワードを
>求めるプログラムを作ろうと思います。
とかいてあるので②の方かなと思っています。

>ロジックなどが思いつかないので、ご教示ください。 
ロジックは「もし外部ドライブならパスワードを入力させて、判定する」という単純なものですが、
そのロジックを組み込む方法が難しいです。

たとえば、Excelで保存先に外部ドライブを指定した場合にこのロジックを実行するにはどうしたらよいでしょうか?ロジック以前にこういったところから考える必要があります。

それで肝心の方法なのですが、冒頭にも書いたようにわかりません。
多分Windows APIを使ってフックすることになる野ではないかと思いますが、それらしいAPIもざっと見たところありませんし、rootkit toolと呼ばれるアプリケーションでは多くのアプリケーションからフォルダを隠すことができるので、あるいはどうやってフォルダを隠しているのかわかればそこからやり方をたどれるかもしれないとは思いました。

>私のような初心者は、そのへんの程度がわからずに挑戦して、あえなくVBに挫折してしまう
>ケースって多いのではないでしょうか。  
私は壁にあたって止まり、壁にあたっては止まりを繰り返して理解が深まっていきました。
1つのことを簡単にはあきらめないという思いも必要ですが、引き際も肝心と思います。
引き際を探る意味でこの掲示板のようなコミュニティを利用していただければいいと思います。