Vra

Ek het 'n Visual Studio opstel en implementering projek. Ek het 'n .cmd script in het hy bygevoeg. Die script sal administrateur voorregte benodig om te hardloop. Wanneer die gebruiker op die setup.exe kliek, UAC vra die gebruiker vir Admin regte. So ek aanvaar dat alle prosesse geskep en 'n beroep binne setup.exe sal loop in admin kapasiteit. So ek het die opstel bel my konsole aansoek wat die volgende kode bevat.

ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);

Dit behoort het gewerk as dit hardloop onder administrateur ruimte.

Ek wil cmd.exe loop deur c # proses klas as 'n administrator.I'm met Windows Vista.

Ek het probeer nie werk nie! Wat kan ek doen?

Was dit nuttig?

Oplossing

Probeer die uitvoering van die runas command

...

using System.Diagnostics;

...

string UserName = "user name goes here";
ProcessStartInfo p1 = new ProcessStartInfo();
  p1.FileName = "runas";
  p1.Arguments = String.Format("/env /u:{0} cmd", UserName);
Process.Start(p1);

...

(En ek dink nie jy 'n uitdruklike UseShellExecute nodig)

Ander wenke

Just Probeer hierdie, Dit vir my gewerk het.

...

using System.Diagnostics;

...

ProcessStartInfo startInfo = new ProcessStartInfo();
  startInfo.UseShellExecute = true;            
  startInfo.Verb = "runas";
  startInfo.Arguments = "/env /user:" + "Administrator" + " cmd";
Process.Start(startInfo);

...

Ashutosh

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top