带有Windows API代码包的Windows XP上的EntryPointNotFoundException

时间:2012-08-13 16:52:13

标签: c# .net vb.net

我正在尝试在我的应用程序上使用MS Windows API代码包。

string docRef = @"adocument.docx";
var shellFile = Microsoft.WindowsAPICodePack.Shell.ShellFile.FromFilePath(docRef);

它适用于Windows 7,但在Windows XP(已安装的.NET 3.5)中引发错误: “System.EntryPointNotFoundException:无法在DLL”shell32.dll“中找到名为”SHCreateItemFromParsingName“的入口点。”

您能否告诉我在Windows XP上启动MS WACP需要做些什么?

提前多多感谢!

2 个答案:

答案 0 :(得分:4)

此方法已在Windows Vista中引入,在Windows XP中不存在。见its documentation
存在Windows API代码包,以允许您对Windows 7进行托管访问,并且 - 我认为 - Windows Vista功能。这些功能在Windows XP中根本不存在,因此您无法使用它们。

答案 1 :(得分:1)

API代码包仅依赖于Windows 7 API,因此它们在Windows XP上无效。您需要检查操作系统的版本,如果它不是Windows 7(或者现在可能是Windows 8),则执行备用代码。