ユーザーが誤ってアプリケーションのデータ ディレクトリに入るのを防ぐ方法を、しばらくの間調査してきました。
私のアプリケーションはフォルダーを使用して、構造化されたプロジェクトを保存します。フォルダの内部構造は重要であり、めちゃくちゃにすべきではありません。ユーザーにこのフォルダー全体を表示し、(Mac バンドルのように) 開けないようにしたいと思います。
Windowsでそれを行う方法はありますか?
現在の回答から編集
もちろん、ユーザーが自分のデータにアクセスするのを防ごうとしているのではなく、誤ってデータの整合性を破壊しないように保護しているだけです。したがって、暗号化やパスワード保護は必要ありません。
.Net の回答に感謝しますが、残念ながら、これは主に .Net フレームワークに依存しない C++ プロジェクトです。
私が言及しているデータは光ではなく、電子顕微鏡から取得した画像です。これらのデータは巨大になる可能性があるため (~100 MiB から ~1 GiB)、すべてをメモリにロードすることはできません。これらは巨大なイメージであるため、アーカイブ全体をメモリにロードすることなく、一度に 1 つのファイルにアクセスして、データを段階的に読み取る方法をストレージが提供する必要があります。
その上、アプリケーションは主にレガシーであり、私たちが責任を負わないコンポーネントもあります。現在の IO コードを保持できるソリューションが望ましいです。
Shell Extension は面白そうです。解決策をさらに調査します。
LarryF さん、Filter Driver または DefineDOSDevice について詳しく説明していただけますか? 私はこれらの概念に精通していません。