【发布时间】:2015-07-15 14:57:37
【问题描述】:
好的,所以我在通过 c# 程序启动 Windows XP 模式 VM 时遇到了问题。我正在使用的命令是 vmwindow -file "absolute path to vmcx file" ,但问题是该命令不适用于我的程序启动的 cmd 提示符。所以,这很奇怪。我可以在我的计算机上转到命令提示符并运行它我的计算机上的命令并且它可以工作,但是如果我在我的 c# 程序上有相同的命令,弹出的命令提示符告诉我“vmwindow”不是一个可识别的命令。我什至查看了每个命令提示符的路径它们是不同的,但它们仍然包含“C:\Windows\system32\”,这是 vmwindow.exe 所在的位置。所以,我在我的程序填充的命令提示符窗口上导航,文件“vmwindow.exe”是不在那里,但是如果我从计算机打开命令提示符窗口并导航到该文件夹,它就存在在那里.我想不出其他任何东西,因为我已经确保它们都在管理员模式下运行,我也试过了启动一个包含该命令的 bat 文件,而不是直接运行该命令。希望任何人都知道 对这个。这是我正在使用的代码:
private void button1_Click(object sender, EventArgs e)
{
Process process = new System.Diagnostics.Process();
ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
startInfo.FileName = "cmd.exe";
startInfo.WorkingDirectory = @"<my path>";
startInfo.Arguments = "/k vmwindow.exe -file \"<path to vcmx file>\\Windows XP Mode.vmcx\"";
process.StartInfo = startInfo;
process.Start();
}
【问题讨论】:
-
程序(文件名)应该是
vmwindow.exe,而不是cmd.exe。在您的示例中,参数是vmwindow之后的所有内容。 -
好的,我试过了,它给了我这个: System.dll 中发生了“System.ComponentModel.Win32Exception”类型的未处理异常附加信息:系统找不到指定的文件。我觉得这与当我在 Visual Studio 填充的命令提示符窗口中导航到该文件夹时,命令提示符窗口找不到 vmwindow.exe 有关。
-
您需要指定
vmwindow.exe的完整路径。 -
同样的错误。我试过:startInfo.FileName = "C:\\Windows\\system32\\vmwindow.exe";
标签: c# windows virtual-machine xp-mode