2012-03-31 15 views
4

Windowsエクスプローラ(Windows 7の)内のファイルを削除する場合、管理者権限がファイルを削除する必要がある場合は、このダイアログが表示されます。カスタムUAC特権UIを実装する方法は?

enter image description here

は私の中で効果のこの種を達成する方法はありますアプリ?現在

ユーザーが求めて、一般的なUACのダイアログを示しているので、私は、(それを削除するのではなくファイルを置き換える)アクションの同じ種類を実行するために「管理者として」プロセスを起動しています:

「ですか次のプログラムがこのコンピュータを変更できるようにしますか?

は、サードパーティのアプリで可能(一般的なUACのダイアログではなく)エクスプローラで示さ役に立つUIのようなものですか?それはサードパーティが卑劣な方法で権限を昇格することができるようになるので、

私は、ない推測しています。

答えて

2

のWindows 7のデフォルトの設定では、ほとんどのシステム・コンポーネントは、UACのダイアログを表示しないようにするためにあります。

あなたは常に迅速にあなたの設定を変更する場合は、エクスプローラ]ダイアログボックスで[続行]をクリックすると、通常のUACプロンプトを作成していることがわかります。システム以外のバイナリとして

、あなたのコードは、常に最も寛大UACの設定を除き促す(プロンプトを表示しません。)

+0

はい、それは本当だ:あなたが望む任意のUIで(この場合は続行)標高入力ボタンを表示することができますが、標高のプロセスは常にあなたがシステムの確認は、新しいプロセスを開始するか、高架を作成するかどうかに関係なく入力を求める表示されますCOMオブジェクト。 –

4

使用Button_SetElevationRequiredStateボタンにシールドを追加します。ユーザーがボタンを押すと、use the COM elevation monikerがヘルパーオブジェクトを作成します。

+0

シールドアイコンを設定していただきありがとうございます。私はSendMessageを使用して終了しました。なぜなら、その関数/マクロを使用するための正しい#defineを持っていなかったからです(そして#define _Win32で何とかしたくないからです)。 – mackenir

+0

私はCOMを使用することはできませんので、exeのコピーを管理者として実行しています。 – mackenir

+0

シールドアイコンは、「このボタンを押すと、誰かがあなたに昇格の許可を求めるので、驚かないでください」という警告が表示されます。昇格の許可を求める1つの方法は、COMを使用することですが、コマンドラインも機能します。 –

関連する問題