keistimewaan proses mengangkat programmatically dalam C#
cabaran:
Pelancaran untuk memasang perkhidmatan menggunakan InstallUtil.exe
sering gagal kerana keistimewaan yang tidak mencukupi, tidak seperti apabila dilaksanakan secara langsung dari command prompt yang tinggi. Process.Start
Pendekatan 1: memanfaatkan Shellexecute
Walaupun dapat meningkatkan keistimewaan, ia memperkenalkan kerumitan dan potensi kelemahan keselamatan. ShellExecute
Pendekatan 2: Menggunakan harta kata kata
Kaedah yang lebih diselaraskan melibatkan menetapkan sifat objek Verb
ke "runas": ProcessStartInfo
<code class="language-csharp">startInfo.UseShellExecute = true; startInfo.Verb = "runas";</code>
3
Untuk mengelakkan arahan UAC berulang, konfigurasikan aplikasi anda untuk ketinggian automatik:menghasilkan manifes aplikasi (UAC) menggunakan Visual Studio atau Mageui.
menentukan
sebagai tahap pelaksanaan dalam manifes.highestAvailable
Ini memastikan semua proses kanak -kanak mewarisi keizinan yang tinggi tanpa arahan lanjut, tetapi memerlukan satu UAC yang cepat apabila permulaan permohonan. Atas ialah kandungan terperinci Bagaimanakah saya dapat mengangkat keistimewaan proses secara programatik di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!