参见英文答案 >
Check which version of DirectX is installed 2个
我想知道当用户点击菜单项时,他应该能够知道他的机器上安装的直接X版本?
我想知道当用户点击菜单项时,他应该能够知道他的机器上安装的直接X版本?
我想在VS2008中用C#编写代码.
我应该在菜单项点击事件中写什么?
我是C#的初学者,所以不知道从哪里开始..
任何人都可以帮忙吗?
谢谢..
解决方法
这可能会有所帮助:
.NET How to detect if DirectX 10 is supported?.
编辑:
以下是我认为的一些更好的代码.我能想到的最好的是基于Windows版本的DX10或DX11检查.这不是100%准确(因为Vista可以升级到DX11,但我没有检查这个),但总比没有好.
private int GetDirectxMajorVersion() { int directxMajorVersion = 0; var Osversion = Environment.Osversion; // if Windows Vista or later if (Osversion.Version.Major >= 6) { // if Windows 7 or later if (Osversion.Version.Major > 6 || Osversion.Version.Minor >= 1) { directxMajorVersion = 11; } // if Windows Vista else { directxMajorVersion = 10; } } // if Windows XP or earlier. else { using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\DirectX")) { string versionStr = key.GetValue("Version") as string; if (!string.IsNullOrEmpty(versionStr)) { var versionComponents = versionStr.Split('.'); if (versionComponents.Length > 1) { int directXLevel; if (int.TryParse(versionComponents[1],out directXLevel)) { directxMajorVersion = directXLevel; } } } } } return directxMajorVersion; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。