• ベストアンサー

ファイルコピーを制限したい

WinXP Pro、VB6 SP5です ファイルのコピーを監視して、ユーザーが指定ドライブ以外(例えばUSBの記録媒体など)にファイルをコピーするのを防ぐプログラムを作りたいんです。 しかしいろいろ探してみたんですがファイルコピーを監視する方法が見つかりません。 これは可能なのでしょうか。可能ならばどのようなAPIやツールが使えそうでしょうか。 ヒントでもいいのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ryuta_mo
  • ベストアンサー率30% (109/354)
回答No.1

http://dobon.net/vb/dotnet/file/filesystemwatcher.html .NETですがこれなら監視することは可能だと思います。 ただ、コピーを禁止するのはわかりません。 もし、そんなことが可能ならとっくにそんなツールがどっかから販売されてたりするでしょうけど私の知る限りではありません。 不可能なんじゃないでしょうか? できたとしてもかなり困難なはずです。

その他の回答 (2)

回答No.3

#1さんと同じですけど、 WINDOWSフォルダのファイルでさえ、削除とかできますし、 不正コピーをして販売をしている人もいる位なので そんなに簡単な事では無いように思います。 (出来ないような気がしますが) あまり、よさそうな手ではないですが、 ・コピーされたくないファイルを Lockを掛けてOPENしておく ・同プログラムでCLOSEしないと他からアクセスできないので  プログラムを常駐させておく必要があると思います ・このプログラムでコピーするようにする Open "d:\test.txt" For Append Lock Read Write As #1 (コピーも移動も出来ませんでしたが、何か問題がありそうな気が・・・) 何故、コピーを防止したいのかに重点をおいた方が良いのでは? 例えば、社内で使用しているファイルで、動かさないで欲しい程度ならば、 隠しファイルにするとか(見ようと思えば見えてしまいますが) 個人情報の流失を防ぐ等なら暗号化ファイルにするとか そちらの質問なら、回答できる方も増えるのではないでしょうか。

akiaki2
質問者

お礼

ryuta_mo様、taisuke555様、アドバイスありがとうございます。 やっぱり無理がありそうですね。。。 コレ、できたらホントに売れそうな気がします; .NETの方法をベースに少し頑張ってみます。しかし、おっしゃられる通り、確かに労力の割りに報われないかもしれませんね(^^; ありがとうございました

  • ryuta_mo
  • ベストアンサー率30% (109/354)
回答No.2

No1で監視してコピー後強制的に削除すると言う荒業があります。 移動だったら元のファイルが残らないから消えちゃいます。 ちょっと間違うだけで重要なファイルを失うことになるでしょう。 ファイルを開いて別名保存されたらまったく効果がありません。 有効なのはファイルシステムを使ったコピー・移動だけです。 無駄に労力時間を使う割りにたいした機能も無いものができそうです。 根本的に方法を変える必要があるかもしれません。 コピーされてもほかのPCで見れないようにするとか。

関連するQ&A