Bejelentkezés

Login

Username
Password
Remember Me

Regisztrálás

Fields marked with an asterisk (*) are required.
Name
Username
Password
Verify password
Email
Verify email

C# (XP/Vista) - külső program futtatása

Lehet, hogy sok fórumon fent van már, de ma nagyon sokat szenvedtem azzal, hogy hogy futtassunk külső programot C#-s programban. Hozzátartozik, hogy a futtatás során felmerült, az elindított program magasabb felhasználói jogokkal fusson, mint ahogyan be vagyunk jelentkezve (run as...).

Ha jól olvastuk forumokon az XP SP2 óta nem lehet mindezt úgy tenni, hogy a futtatás előtt más felhasználóvá válunk (impersonate user), majd futtatunk, majd vissza vesszük az eredeti felhasználói profilt.. Már csak a következő képpen lehet megtenni mindezt:

 

try
{
    System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo("cmd.exe");
    System.Security.SecureString password = new System.Security.SecureString();
    proc.UserName = "felhasznaloneve";
    foreach (char c in "jelszo")
    {
        password.AppendChar(c);
    }
    proc.Password = password;
    proc.Domain = "";
    proc.UseShellExecute = false;
    System.Diagnostics.Process.Start(proc);
}
catch (Exception ex)
{
    MessageBox.Show("Hiba: \n" + ex.Message);
}

Megjelent: 2452 alkalommal Utoljára frissítve: 2009. szeptember 16., szerda 11:39
A hozzászólásokat biztosítja a Disqus