![](/img/trans.png)
[英]EntryPointNotFoundException in kernel32.dll SetEnvironmentVariable
[英]System.EntryPointNotFoundException and DllImport(“kernel32.dll”)
為什么在此代碼中出現EntryPointNotFoundException。 (源代碼pinvoke.net )我的操作系統是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();
}
}
}
問候,
弗洛里安
根據這個 ,它僅支持Vista或Windows Server 2008中(參見要求部分)
似乎您應該這樣做:
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);
如果它是您要查找的信息(而不是測試pInvoke)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.