Windows API解释器

时间:2011-02-04 19:31:26

标签: windows api interpreter

是否有解释器可以输出windows api调用,例如GetVersionEx?

3 个答案:

答案 0 :(得分:6)

不确定这是否是你想要/需要的,但我会说带有pywin32模块的Python。

答案 1 :(得分:2)

Ruby也可能是一种可能性。以下是显示GetVersionEx调用结果的示例。

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