Verb
に RunAs
を設定して、UseShellExecute
を true
にする。
Hidden
が設定されている時に、WaitForExit
で待機すると処理が終了しない可能性があるので注意。
publicstaticclassCmd { publicstaticvoid CreateSymbolicLink(string src, string dest) { Execute($"/k mklink /D \"{dest}\"\"{src}\""); } privatestaticvoid Execute(string args, bool hidden =true) { var startInfo =new System.Diagnostics.ProcessStartInfo(); startInfo.FileName ="cmd.exe"; startInfo.Arguments = args; startInfo.Verb ="RunAs"; startInfo.UseShellExecute =true; if (hidden) startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; System.Diagnostics.Process.Start(startInfo); } }