
同じディレクトリ内のイメージ「resource.jpg」にアクセスしようとする ResourceManager(RMTest) というテスト プログラムを作成しています。
resource.jpg は、システム上のすべての管理者以外のアカウントに対してアクセスが拒否されるように設定されており、ユーザーが直接表示できないようになっています。
RMTest は、ハードコードされたパスワードをチェックするパスワード プロンプト フォームであり、一致すると、画像を開くピクチャ ボックス コントロールを含む別のフォームが開きます。
できれば次の制限付きで、一般ユーザーがこのプログラムを管理者として実行できるようにしたいと考えています。
実行中のプログラムにはユーザーはメモリにアクセスできません。
ユーザーは、逆アセンブラ/16 進エディタを通じてプログラムの命令にアクセスすることはできません。
次に、プログラムがこのプログラムを通じて間接的にリソースへのアクセスを許可することを期待します。
Linux ではこれが簡単に実行できることはわかっていますが、Windows では機能しない解決策が 2 つしか見つかりませんでした。
- バッチファイルが 'schtasks /run /TN "RMTest"' を実行するときに管理者権限でプログラムを実行するタスク スケジューラを使用する
タスクを作成したユーザーとは別のユーザーのアカウントではフォーム アプリケーションを実行できないようです。
- C:\Windows\System32\runas.exe /user:MYPCNAME\Administrator /savecred "C:\RMTest\ResourceManager.exe"
これは実行されますが、権限が付与されていない場合と同じ例外が発生します。
Windows でこれを行う方法はありますか? ある場合、どのようにすればよいですか?