api.dll 内含结构指针
typedef struct _UOSVERSIONINFO
{
DWORD dwMajorVersion; //主版本号
DWORD dwMinorVersion; //次版本号
DWORD dwBuildNumber; //编译版本号
} UOSVERSIONINFO, *LPUOSVERSIONINFO;请问应该怎么样调用这个 dll 并获取其中的版本数据,类型应当怎么样转换,谢谢
typedef struct _UOSVERSIONINFO
{
DWORD dwMajorVersion; //主版本号
DWORD dwMinorVersion; //次版本号
DWORD dwBuildNumber; //编译版本号
} UOSVERSIONINFO, *LPUOSVERSIONINFO;请问应该怎么样调用这个 dll 并获取其中的版本数据,类型应当怎么样转换,谢谢
[StructLayout(LayoutKind.Sequential)]
public struct UOSVERSIONINFO
{
[MarshalAs(UnmanagedType.U4)]
public float dwMajorVersion; //主版本号
[MarshalAs(UnmanagedType.U4)]
public float dwMinorVersion; //次版本号
[MarshalAs(UnmanagedType.U4)]
public float dwBuildNumber; //编译版本号 }
public class OSVersionInfo
{
public int OSVersionInfoSize;
public int MajorVersion;
public int MinorVersion;
public int BuildNumber;
public int PlatformId;
[ MarshalAs( UnmanagedType.ByValTStr, SizeConst=128 )]
public String versionString;
}
[ StructLayout( LayoutKind.Sequential )]
public struct OSVersionInfo2
{
public int OSVersionInfoSize;
public int MajorVersion;
public int MinorVersion;
public int BuildNumber;
public int PlatformId;
[ MarshalAs( UnmanagedType.ByValTStr, SizeConst=128 )]
public String versionString;
}
//API声明:
[ DllImport( "kernel32" )]
public static extern bool GetVersionEx( [In, Out] OSVersionInfo osvi );
[ DllImport( "kernel32", EntryPoint="GetVersionEx" )]
public static extern bool GetVersionEx2( ref OSVersionInfo2 osvi );
MajorVersion;
MinorVersion;
BuildNumber;
的值呢?
具体请参考:
http://www.pconline.com.cn/pcjob/process/other/others/0412/513944.html