Цитата MKN:
Но есть такой вопрос - как распределить полученные данные раздельно по разным переменным ? »
|
Элементарно
Код:
Var WMI_Caption
Var WMI_Version
Var WMI_CSDVersion
Var WMI_ServicePackMajorVersion
Var WMI_ServicePackMinorVersion
Var WMI_BuildType
Var WMI_CSName
Var WMI_RegisteredUser
Var WMI_Locale
Var WMI_OSLanguage
Var WMI_OSType
Var WMI_PushVar
;http://nsis.sourceforge.net/WMI_header
OutFile "OperatingSystemInfo.exe"
!include MUI2.nsh
!include WMI.nsh
!include LogicLib.nsh
!insertmacro MUI_LANGUAGE "English"
Section
; короткое описание версии операционной системы
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Caption callback_Function
StrCpy $WMI_Caption $WMI_PushVar
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Version callback_Function
StrCpy $WMI_Version $WMI_PushVar
; последний установленный сервис-пак (строка); если никакой сервис-пак не установлен, пустая строка.
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem CSDVersion callback_Function
StrCpy $WMI_CSDVersion $WMI_PushVar
; версия сервис-пака
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem ServicePackMajorVersion callback_Function
StrCpy $WMI_ServicePackMajorVersion $WMI_PushVar
; подверсия сервис-пака
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem ServicePackMinorVersion callback_Function
StrCpy $WMI_ServicePackMinorVersion $WMI_PushVar
; Processor Type
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem BuildType callback_Function
StrCpy $WMI_BuildType $WMI_PushVar
; имя компьютера
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem CSName callback_Function
StrCpy $WMI_CSName $WMI_PushVar
; зарегистрированный пользователь операционной системы
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem RegisteredUser callback_Function
StrCpy $WMI_RegisteredUser $WMI_PushVar
; идентификатор языка, используемого операционной системой
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Locale callback_Function
StrCpy $WMI_Locale $WMI_PushVar
; OSLanguage
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem OSLanguage callback_Function
StrCpy $WMI_OSLanguage $WMI_PushVar
; тип операционной системы:
; 16 - WIN95, 17 - WIN98, 18 - WINNT, 19 - WINCE
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem OSType callback_Function
StrCpy $WMI_OSType $WMI_PushVar
###################################################
FileOpen $0 "$EXEDIR\WMI.txt" w
FileWrite $0 "=== OperatingSystemInfo.exe ===$\n"
FileWrite $0 "$\n$$WMI_Caption = $WMI_Caption"
FileWrite $0 "$\n$$WMI_Version = $WMI_Version"
FileWrite $0 "$\n$$WMI_CSDVersion = $WMI_CSDVersion"
FileWrite $0 "$\n$$WMI_ServicePackMajorVersion = $WMI_ServicePackMajorVersion"
FileWrite $0 "$\n$$WMI_ServicePackMinorVersion = $WMI_ServicePackMinorVersion"
FileWrite $0 "$\n$$WMI_BuildType = $WMI_BuildType"
FileWrite $0 "$\n$$WMI_CSName = $WMI_CSName"
FileWrite $0 "$\n$$WMI_RegisteredUser = $WMI_RegisteredUser"
FileWrite $0 "$\n$$WMI_Locale = $WMI_Locale"
FileWrite $0 "$\n$$WMI_OSLanguage = $WMI_OSLanguage"
FileWrite $0 "$\n$$WMI_OSType = $WMI_OSType"
FileClose $0
execshell open "$EXEDIR\WMI.txt"
quit
###################################################
SectionEnd
Function callback_Function
#$R0 = result number, $R1 = total results, $R2 = result name
System::Call "user32::OemToChar(t R2, t. r2)"
detailprint "$2"
StrCpy $WMI_PushVar $2
FunctionEnd