Jump to content

Recommended Posts

Posted

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

Posted

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

 

Posted

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

Posted
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)

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...