Docfxit Posted March 17, 2019 Posted March 17, 2019 I have a function that I am using on an #include: I'm getting a syntax error and it's not giving me x64: Func _OSVersion() Global $OS_Version, $servicepack_version If StringRegExp(FileGetVersion('winver.exe'), "^10\.\d") Then $OSVersion = "WIN_10" If StringRegExp(FileGetVersion('winver.exe'), "^7\.\d") Then $OSVersion = "WIN_7" $servicepack_version = StringReplace(@OSServicePack, "Service Pack ", "SP") If @error = -1 Then $servicepack_version = "" MsgBox("", "Test", "$OS_Version = " & $OS_Version & @CRLF & "winver.exe = " & (FileGetVersion('winver.exe') & @CRLF & "$servicepack_version = " & $servicepack_version & @CRLF & "@OSArch = " & @OSArch) ;I'm getting a syntax error on the line above ConsoleWrite($OS_Version & $servicepack_version & StringRegExpReplace(@OSArch, '(X86)', '') & @CRLF) Return $OS_Version & $servicepack_version & StringRegExpReplace(@OSArch, '(X86)', '') EndFunc ;==>_OSVersion Could I please get some help in: 1. Resolving the syntax error. 2. Adding X64 Thank you, Docfxit
Bilgus Posted March 17, 2019 Posted March 17, 2019 Not sure what you are asking on the X64 part _OSVersion() Func _OSVersion() Global $OS_Version, $servicepack_version Local $sWinVer = FileGetVersion('winver.exe') $OS_Version = @OSVersion $servicepack_version = StringReplace(@OSServicePack, "Service Pack ", "SP") If @error = -1 Then $servicepack_version = "" MsgBox(0, "Test", "$OS_Version = " & $OS_Version & @CRLF & "winver.exe = " & $sWinVer & @CRLF & "$servicepack_version = " & $servicepack_version & @CRLF & "@OSArch = " & @OSArch) ConsoleWrite($OS_Version & $servicepack_version & StringRegExpReplace(@OSArch, '(X86)', '') & @CRLF) Return $OS_Version & $servicepack_version & StringRegExpReplace(@OSArch, '(X86)', '') EndFunc ;==>_OSVersion
Docfxit Posted March 17, 2019 Author Posted March 17, 2019 Thank you for the reply... _OSVersion() is returning Win10 In Win7 it returns Win7X64 It would be nice if it would return Win10X64 Thank you, Docfxit
Bilgus Posted March 17, 2019 Posted March 17, 2019 In W7 I get WIN_7SP1X64 So I'd look to see what @OSArch returns ConsoleWrite(@OSArch & @crlf)
Docfxit Posted March 17, 2019 Author Posted March 17, 2019 It is looking correct now. Thank you, Docfxit
RestrictedUser Posted March 23, 2019 Posted March 23, 2019 On 3/17/2019 at 7:30 AM, Docfxit said: Could I please get some help in: 1. Resolving the syntax error. 2. Adding X64 #include <String.au3> $OSVersion = StringReplace(@OSVersion, "WIN_", "Windows ") $OSServicePack = StringReplace(@OSServicePack, "Service Pack", "SP") If @OSArch = "X86" Then $OSArch = StringReplace(@OSArch, "X86", "32-bit") ElseIf @OSArch = "X64" Then $OSArch = StringReplace(@OSArch, "X64", "64-bit") Else $OSArch = StringReplace(@OSArch, "IA64", "64-bit Itanum Architecture") EndIf ConsoleWrite($OSVersion & " " & $OSServicePack & " - " & $OSArch)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now