是否有解释器可以输出windows api调用,例如GetVersionEx?
答案 0 :(得分:6)
不确定这是否是你想要/需要的,但我会说带有pywin32模块的Python。
答案 1 :(得分:2)
require "Win32API"
gvex = Win32API.new( 'kernel32', 'GetVersionEx', ['P'], 'I' )
s = [20+128, 0, 0, 0, 0, '' ].pack('LLLLLa128')
gvex.call( s );
a = s.unpack( 'LLLLLa128' )
puts "gvex: ", a
此示例仅传递148个字节(OSVERSION
结构的大小)而不是整个OSVERSIONEX结构。
答案 2 :(得分:2)
也可以使用WMI获取操作系统中的版本和其他数据等信息。
这是一个VBScript示例,无需编译任何内容:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOS in colOSes
Wscript.Echo "Computer Name: " & objOS.CSName
Wscript.Echo "Caption: " & objOS.Caption 'Name
Wscript.Echo "Version: " & objOS.Version 'Version & build
Wscript.Echo "Build Number: " & objOS.BuildNumber 'Build
Wscript.Echo "Build Type: " & objOS.BuildType
Wscript.Echo "OS Type: " & objOS.OSType
Wscript.Echo "Other Type Description: " & objOS.OtherTypeDescription
WScript.Echo "Service Pack: " & objOS.ServicePackMajorVersion & "." & _
objOS.ServicePackMinorVersion
Next