其实一点也不麻烦, 一行代码
Process.Start("rundll32.exe", $"shell32.dll,OpenAs_RunDLL {Path.GetFullPath(filePath)}");
简单且有效