【发布时间】:2013-04-29 02:41:24
【问题描述】:
我对此有疑问:
Private Function Get_NT_Version()
Dim NT As Decimal = CDec(System.Environment.OSVersion.Version.ToString.Substring(0, 3))
MsgBox(NT)
Return NT
End Function
我在 Win7 上运行,所以我想获得十进制或双精度值:“6.1”,但我得到的是:“61”
这就是我想做的:
If Get_NT_Version() < 6.0 Then
msgbox("This application only works with an Aero compatible windows version")
Application.Exit()
end if
更新:
也尝试过这个想法,但返回“61”
Dim s As Double = String.Format("{0}.{1}", System.Environment.OSVersion.Version.ToString.Split(".")(0), System.Environment.OSVersion.Version.ToString.Split(".")(1))
【问题讨论】:
-
你不能像这样写代码吗
Private Function Get_NT_Version() As Object Dim NT As Decimal = Convert.ToDecimal(System.Environment.OSVersion.Version.ToString.Substring(0, 3)) Interaction.MsgBox(NT) Return NT End Function -
对于所有 Windows 7,整个字符串为“6.1.7601.65536”,应用的子字符串为“6.1”,当我尝试返回一个整数值以作为条件时,我得到一个“61” “6.1”。
-
我会发布一些我认为是您获取版本所需的内容
-
好的,谢谢,我已经测试了您评论的功能,但返回 61,无论我需要使用 string.format 还是将字符串转换为任何类型,但我无法执行条件像这样:“如果字符串低于 6.1 则……”你知道的。
-
Elektro Hacker除了我的回答之外,我将发布一个更深入的示例供您扩展。
标签: .net windows vb.net windowsversion