1.概要
windows用のフォームアプリを作成した時に
UACが有効だと、アプリケーションの動作上よろしくないことが多いかと思います。
ここではアプリケーションからUACを無効にしてしまおう
という考えでコードを記述していきます。
動作環境:windows10
開発環境:visual studio2015
開発言語:C#.net
2.方法
では、どのようにしてUACを無効にするかというと
手っ取り早く直接レジストリを変更します。
レジストリを直接操作するのは怖いこともありますが
そんなことは気にせず、とりあえずやっていきます。
なお、これには管理者権限でのアプリケーション実行がマストになります。
3.確認
現在のUACの状態を確認してみます。
検索ボックスにUACと入力すると検索結果に
【ユーザーアカウント制御設定の変更】
と表示されるのでこれをクリックします。
【ユーザーアカウント制御の設定】ウィンドウが表示されます。
これが現在のUACの設定状態になります。
UACの詳細内容については下記の記事を参照して下さい。
www.chuken-engineer.com
4.スクリプト
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace uacDisable { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Microsoft.Win32.RegistryKey regKey_CPBA = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"); regKey_CPBA.SetValue("ConsentPromptBehaviorAdmin", 0); regKey_CPBA.Close(); Microsoft.Win32.RegistryKey regKey_POSD = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"); regKey_POSD.SetValue("PromptOnSecureDesktop", 0); regKey_POSD.Close(); } } }
5.結果
スライダーが一番下の状態になりました。