2010-11-03 3 views

Répondre

2

Quelque chose comme la fonction ci-dessous prendrait soin de la fin de la question Unix/Mono. D'ailleurs, je n'ai pas compilé ni exécuté cela, mais vous avez l'idée.

private bool AmIRoot() 
{ 
    //Declarations: 
    string fileName = "blah.txt", 
      content = ""; 

    //Execute shell command: 
    System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
    proc.EnableRaisingEvents=false; 
    proc.StartInfo.FileName = "whoami > " + fileName; 
    proc.StartInfo.Arguments = ""; 
    proc.Start(); 
    proc.WaitForExit(); 

    //View results of command execution: 
    StreamReader sr = new StreamReader(fileName); 
    content = sr.ReadLine(); 
    sr.Close(); 

    //Clean up magic file: 
    File.Delete(fileName); 

    //Return to caller: 
    if(content == "root") 
     return true; 
    else 
     return false; 
} 
+0

Oui, la fusion peut-être les deux approches ... Je pourrais réussit également exécuter whoami de Process.Start et lire la sortie standard est –

+1

pourquoi ne pas System.Environment.UserName == « root »? –

+0

@mhutch: sonne mieux ... –

Questions connexes