我想从我的程序中启动一个程序,现在我可以相对容易地做到这一点,它可以使用:
protected void butVNC_ItemClick(object sender, EventArgs e)
{
string str = @"C:\Program Files\RealVNC\VNC4\vncviewer.exe";
Process process = new Process();
process.StartInfo.FileName = str;
process.Start();
}
但我的问题是,如果我的程序安装在64位操作系统上,那个文件路径不对,因为它是Program Files(x86),所以有办法检测和运行不同的代码或任何东西。
答案 0 :(得分:1)
您可以使用%Program Files%环境变量指向正确的Program Files目录。它应该正确指向正确的路径。
答案 1 :(得分:1)
我最终使用了这个,效果很好,非常简单:
if (IntPtr.Size == 8)
{
string str = @"C:\Program Files(x86)\RealVNC\VNC4\vncviewer.exe";
Process process = new Process();
process.StartInfo.FileName = str;
process.Start();
}
else if (IntPtr.Size == 4)
{
string str = @"C:\Program Files\RealVNC\VNC4\vncviewer.exe";
Process process = new Process();
process.StartInfo.FileName = str;
process.Start();
}
感谢您的帮助,但是:)
答案 2 :(得分:1)
从.NET 4.0开始,您可以使用Environment.Is64BitProcess
。
示例:
if (Environment.Is64BitProcess)
{
// Do 64 bit thing
}
else
{
// Do 32 bit thing
}