3

Windows 7でQtを使ってアプリケーションを作成しました。 アプリケーションは通常のユーザー権限で起動しますが、レジストリを変更してアプリケーションを自動起動したいので、管理者権限を取得したいと考えています。

どうすればこれを行うことができますか?

4

6 に答える 6

6

MSDN サンプルを見てみましょう: UAC 自己昇格 (CSUACSelfElevation)

また、ウィキペディアには、 ShellExecuteEx()の「runas」動詞と昇格要求のアプリケーション マニフェストに関する情報を含む、非常に優れた参考文献があります。

于 2012-06-26T04:11:01.183 に答える
5

exeに正しいマニフェストを埋め込む必要があります。

http://msdn.microsoft.com/en-us/library/windows/desktop/bb756929.aspx

win32 APIを使用するとおっしゃっていましたが、この標準的で推奨される方法を検討してください。

于 2012-06-26T04:21:21.197 に答える
3

アプリケーションを自動起動するために管理者権限は必要ありません。

適切なキーを次のアドレスに書き込むだけです。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

これは管理者権限を必要としません(の下の同じパスとは異なりますHKEY_LOCAL_MACHINE)。

于 2012-06-26T14:34:48.300 に答える
2

アプリケーションを自動起動するために、管理者権限は必要ありません。HKLM(管理者権限が必要な場合)の下にレジストリキーを追加する代わりに、HKCUを使用すれば問題ありません。

于 2012-06-26T14:31:53.520 に答える
1

プログラムの実行中は権限を変更できないことに注意してください。強制終了し、正しい権限で再起動する必要があります。

于 2012-06-26T01:10:25.667 に答える
-1

HKLM でアプリケーションを自動起動するには、管理者権限が必要です。ただし、実行中にアプリケーションの権限を変更することはできませんでした。

そこで、メインアプリケーションを自動起動させるためにレジストリを書き込むだけの新しい小さなアプリケーションを作成しました。

メイン アプリケーションは、ShellExecuteEx を使用してこのアプリケーションを呼び出し、管理者権限を要求することができます。

于 2013-03-04T08:23:13.187 に答える