我正在尝试将我的 xbox 360 Controller 连接到我的树莓派,使用单声道的 c#。连接命令是“sudo xboxdrv”。如果我直接在 raspberry pi 上尝试此命令,则此命令有效,但当我从单声道控制台应用程序尝试时,它会出错。我使用的代码:
var info = new ProcessStartInfo();
info.FileName = "sudo xboxdrv";
info.UseShellExecute = false;
info.CreateNoWindow = true;
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
var p = Process.Start(info);
p.WaitForExit();
Console.ReadLine();
我得到的错误是“ native 错误=找不到指定的文件”。我想这与 sudo 有关,但如果没有 sudo,程序将无法运行,如果可能的话,我不想让我的用户成为 root 用户。
最佳答案
sudo xboxdrv
不是文件名,它是带参数的命令。 sudo
是文件名,xboxdrv
是参数。
所以你的代码应该是:
var info = new ProcessStartInfo();
info.FileName = "sudo";
info.Arguments = "xboxdrv";
info.UseShellExecute = false;
info.CreateNoWindow = true;
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
var p = Process.Start(info);
p.WaitForExit();
Console.ReadLine();
关于c# - 在 raspbian 上用 mono 执行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19198351/