Reputation: 4728
Why have I a EntryPointNotFoundException in this code. (source pinvoke.net) My OS is Windows XP SP3.
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace System_Info
{
class Program
{
[DllImport("kernel32.dll", SetLastError = false)]
static extern bool GetProductInfo(
int dwOSMajorVersion,
int dwOSMinorVersion,
int dwSpMajorVersion,
int dwSpMinorVersion,
out int pdwReturnedProductType);
static void Main(string[] args)
{
int ProductNum;
GetProductInfo(
Environment.OSVersion.Version.Major,
Environment.OSVersion.Version.Minor,
0,
0,
out ProductNum);
Console.WriteLine(Environment.OSVersion.Version.Build);
Console.WriteLine(Environment.OSVersion.Version.Major);
Console.WriteLine(Environment.OSVersion.Version.MajorRevision);
Console.WriteLine(Environment.OSVersion.Version.Minor);
Console.WriteLine(Environment.OSVersion.Version.MinorRevision);
Console.WriteLine(Environment.OSVersion.Version.Revision);
Console.WriteLine(ProductNum);
Console.ReadKey();
}
}
}
Regards,
Florian
Upvotes: 1
Views: 1496
Reputation: 3973
Seems like you should do this:
OperatingSystem os = Environment.OSVersion;
Version osVer = os.Version;
Console.WriteLine(osVer.Build);
Console.WriteLine(osVer.Major);
Console.WriteLine(osVer.MajorRevision);
Console.WriteLine(osVer.Minor);
Console.WriteLine(osVer.MinorRevision);
Console.WriteLine(osVer.Revision);
if its the information you are looking for (as opposed to testing a pInvoke).
Upvotes: 2