15

一部のプログラムは、実行時に管理者権限を自動的に要求します。これらのプログラムには、右下隅に小さな盾が付いてい
ここに画像の説明を入力 ます。これを C++ でどのように実現できるかを考えています。
これには関数がありますか、それとも特別なコンパイラ/リンカー コマンドが必要ですか?

4

2 に答える 2

21

おそらくCreateProcessAsUserまたはCreateProcessWithLogonW関数を探しているに違いありません。

次のようなオプションがもう 1 つあります。

  • プロジェクトの [プロパティ ページ] ダイアログ ボックスに移動します。
  • [構成プロパティ] ノードを開きます。
  • 次に、Linker ノードを開く必要があります。
  • 次に、[マニフェスト ファイル] プロパティを選択します。
  • 最後に、[ユーザー アカウント制御 (UAC) を有効にする]、[UAC 実行レベル]、および [UAC バイパス UI 保護] プロパティを変更します。

このようなもの:

ここに画像の説明を入力

Syamがコメントで正しく述べたように、解決策は実行可能ファイルにマニフェストを埋め込むことです。

于 2013-10-27T12:24:39.120 に答える
5

実際には、アプリケーションが管理者からの許可を必要とするそのマシンの機能を使用する場合、アプリケーションが管理者から実行する必要があることを意味するこのシールドは、オペレーティング システムから設定されます。
そのためにアプリから何も設定する必要はありません。
答えがあなたに役立つことを願っています。

于 2013-10-27T12:28:07.963 に答える