1

これは厳格なコードの質問ではないことはわかっていますが、コンピューターのバックグラウンドで実行されている可能性のあるプログラムを作成しようとしており、ファイル/フォルダーをそのままにして、ダブルクリックするとファイル/フォルダ パスワードを求めるダイアログ ボックスが表示されます。市場に出回っているこれらすべてのプログラムでは、ファイルを移動したり、新しいボリュームを作成したりする必要があります。私はそれを望んでいません、私は単純さを望んでいます。パスワード プロンプトを含む 1 つのダイアログ ボックスが表示され、ファイル/フォルダが開きます。私の質問は、これを可能にするためにコーディングに関して何を調べる必要があるかということです。アドバイス/ヒントをありがとう。:)

  FileSecurity()

また、これはFATではなくNTFSでしかできないことですか?

4

3 に答える 3

0

誰かがフォルダをクリックまたはダブルクリックしたことを検出できないため、できません。

于 2012-05-19T21:39:43.760 に答える
0

FileSystemWatcher を使用してファイルが開かれたことを検出し、open イベントを処理できますが、残念ながらその実行を防ぐことはできません。

于 2012-05-19T21:43:23.453 に答える
0

ファイルを安全に保護する方法は 3 つしか思いつきません。

  • ファイルシステム ドライバー (たとえば、ウイルス対策ソフトウェアで使用されるものと同様) を記述しますが、C# では不可能です。
  • ユーザーがフォルダーをロックしたときにすべてのファイルを暗号化し、ユーザーがフォルダーのロックを解除したときにそれらを復号化します。
  • 非管理者アカウントの場合、管理者パスワードがないとユーザーがそれらにアクセスできないように、特権を設定できます (NTFS では組み込みのファイル暗号化も)。

あなたが言及した記事で使用されている方法はまったく安全ではありません (すべてのユーザーは、保護されたファイルにアクセスするためにフォルダーの名前を元に戻すことができます)。ただし、同じトリックを使用して、ユーザーが保護されたフォルダーをダブルクリックしたときにプログラムを自動的に実行し、ユーザーが正しいパスワードを入力するとファイルのロックを解除できます。

于 2012-05-19T22:50:03.067 に答える