Member 12775034 Ответов: 2

Как получить полную информацию о версии windows (windows XP/7) с помощью lotusscript?


Я работаю в Lotus script. Мне нужно знать, какая основная версия, например Window XP/7/Vista/8/10, имеет ОС Windows текущей системы. Например, когда я запускаю msinfo32 с помощью командной строки, я получаю "Microsoft Windows 10 Home Single Language" перед "именем ОС", и это то, что я хочу, или, по крайней мере, как "Microsoft Windows 10".

Спасибо

Что я уже пробовал:

Directly using this command using command prompt, I successfuly get the result in the speicifed txt file: 

systeminfo > f:\\sysInfo.txt 

but it doesn't (seem to) execute using this code: 

Dim Ret As Variant 
Ret = Shell( "cmd systeminfo > F:\\SysInfo.txt" ) 

I tried this too: 

Ret = Shell( "systeminfo > F:\\SysInfo.txt" ) 

Tried this too: 

Dim objShell, returnValue 
Set objShell = CreateObject("WScript.Shell") 
returnValue = objShell.Run("systeminfo > f:\\sysInfo.txt", 3, False) 


but no luck. No error but no file is created either. 


Also this command from command prompt successfully copies the output to system clipboard but it doesn't work in lotus script either:

systeminfo | clip

The intention is to output this to clipboard and then capture this information from the clipboard. May be there is some access permission issue to create file or update system clipboard from lotus notes, i guess.  

2 Ответов

Рейтинг:
8

Member 12775034

Хорошо. Я сделал это всего за 3 строчки. :)

Dim Ret As Variant	
Ret =   Evaluate({ @RegQueryValue("HKEY_LOCAL_MACHINE"; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"; "ProductName")  })  	
Msgbox Ret(0)	'' It displays like Windows "10 Home Single Language"



Огромное спасибо, Дэйв.


Рейтинг:
0

Dave Kreskowiak

Итак, что же вы придумали, когда печатали "lotusscript получить версию windows[^]" в Google?

Дело в том, что вы не первый человек, который задает этот вопрос, и это была решенная проблема, по крайней мере, 20 лет.


Member 12775034

Я погуглил много вариантов, включая тот, который вы предложили, но напрасно.

Этот код возвращает "Windows/NT 6.2 "

Dim ret как вариант
ret = Evaluate(|@Platform([Specific])|)
плат$ = Присоединяйтесь к ("рэт", " ")
Функцию MsgBox плат$

В то время как у меня есть windows 10, и я хочу, чтобы "Microsoft Windows 10 Home Single Language" или "Microsoft Windows 10".

Dave Kreskowiak

Вздох.

Вы можете получить его из реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName.