VB2008でアプリを作成していますが、以下の点で悩んでいます。
それは、あるボタンをクリックすると入力画面が出てきて、アプリ共通の情報を入力し、
それをHKEY_LOCAL_MACHINE\SOFTWARE以下のレジストリに書き込みたいのですが、
この場合、管理者として実行しないとHKEY_LOCAL_MACHINEのレジストリには書き込めません。
しかし、このアプリの上記機能以外については、管理者でなくとも利用できるようにしたいのです。
そこで質問ですが、ある処理だけ(例えば、上記例でいうところの入力画面表示以降の処理)を
管理者権限で実行させるということは可能なのでしょうか?
それとも、その機能だけ管理者権限で実行する別exeにするしかないのでしょうか?
ご回答のほど、よろしくお願い致します。
.NETだけで構築するならば、別プログラムの方が楽でしょう〜
それ以外にも管理者権限が必要な機能が沢山あるならば、
また別の方法もありますが、レジストリに書くだけならば
わざわざ手間かけるより、その方がスッキリするかと。
以上。
ちょっと語弊があるかナ・・・
VB2008だけで作るならば。と訂正しておきます。
以上。
オショウ様、ご回答ありがとうございました。
ご連絡がおそくなり、申し訳ございません。
とりあえず、別プログラムで作成する方向で検討します。
ところで、メインアプリよりサブアプリを管理者権限で実行するとして、
サブアプリのフォームをメインアプリに対してモーダルで表示することは可能でしょうか?
(VB2008でできないのであれば、モーダル表示についてはあきらめてもいいと思っています。)
よろしくお願い致します。
やったことないですが・・・
多分、できないのでは・・・と思います。
管理者権限を所有するアプリのオーナーに、通常レベルの
アプリがなりえるとは思えない。
ドラッグ&ドロップの不具合も同様に権限のあるなしで、
できるできないがありましたので・・・
※ あくまで未確認です。
以上。
>サブアプリのフォームをメインアプリに対してモーダルで表示することは可能でしょうか?
スクリーンセーバーの設定ダイアログはコマンドライン引数にウインドウハンドルを
渡してやることでモーダル表示を実現しているようですね。
Form.ShowDialog メソッドには IWin32Window を引数に取るものがあるので
もしかしたら同様の方法が使えるかもしれませんね。
#管理者権限の有無によって動作が変わるかは知りません。
> ところで、メインアプリよりサブアプリを管理者権限で実行するとして、
> サブアプリのフォームをメインアプリに対してモーダルで表示することは可能でしょうか?
できますよ。