检测32位或64位
本文关键字:64位 32位 检测 | 更新日期: 2023-09-27 18:12:32
我想从程序内部启动一个程序,现在我可以相对容易地做到这一点,它使用:
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位操作系统上,该文件路径是不正确的,因为它是程序文件(x86),所以有一种方法来检测和运行不同的代码或任何东西。
从。net 4.0开始,您可以使用Environment.Is64BitProcess
。
的例子:
if (Environment.Is64BitProcess)
{
// Do 64 bit thing
}
else
{
// Do 32 bit thing
}
您可以使用%ProgramFiles%环境变量指向正确的ProgramFiles目录。它应该正确地指向正确的路径。
示例:c# -如何在Windows 64位上获取程序文件(x86)
我最终使用了这个,效果很好,而且非常简单:
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();
}
谢谢你的帮助:)