私のプログラムの現在の行は
ステータス:= DllRegisterServer;
これは、WIN7であり、ユーザーが管理者ではないマシンで失敗します。
昇格された権限でDllRegisterServerをプログラムで呼び出すことは可能ですか?
または、昇格された権限を要求し、その情報を使用してDllRegisterServerを実行する方法はありますか。
私のプログラムの現在の行は
ステータス:= DllRegisterServer;
これは、WIN7であり、ユーザーが管理者ではないマシンで失敗します。
昇格された権限でDllRegisterServerをプログラムで呼び出すことは可能ですか?
または、昇格された権限を要求し、その情報を使用してDllRegisterServerを実行する方法はありますか。
昇格は、プロセスの作成時にのみ実行できます。したがって、このコードを実行するには新しいプロセスが必要です。あなたの主なオプション:
これらのオプションのうち、1番目の方が簡単である可能性があります。オプション1に個別の実行可能ファイルは必要ありません。コマンドライン引数を渡すと、登録関数が呼び出されます。
プログラムの権利をプログラムで高める方法はありません。ユーザーだけがそうすることを目的としています。マニフェストを含めるなどして、プログラムに昇格された権限が必要であることをOSに指示できます。
マニフェスト<requestedPrivileges>情報をデルファイプロジェクトに追加する方法
(マニフェストを含めずに)昇格された権限なしでプログラムを実行することを許可することもできますが、昇格された権利を必要とするすべてのアクションを無効にするか、オプションが非昇格された権利で呼び出されたときに昇格された権利を要求するプログラムを再起動します。昇格されたプロセス(タスクマネージャーが[すべてのユーザーからのプロセスを表示]ボタンで動作するのと非常によく似ています: