首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旧版本的Shell32引用错误?

旧版本的Shell32引用错误?
EN

Stack Overflow用户
提问于 2014-04-29 14:05:35
回答 2查看 969关注 0票数 0

我继承了一个构建在Windows2008 R2框上的项目,它引用了Shell32.dll。

我需要这个项目在Windows2003Box上工作,而且看来Shell32.dll不包含W2003框上的"Target“方法。

是否有同等的方法或方法来做到这一点?

这是代码:

代码语言:javascript
复制
serverlink = (ShellLinkObject)serverlinkfile.GetLink;
string spath = serverlink.Target.Path;

这是VS2010给我的错误:

“Shell32.ShellLinkObject”不包含“Target”的定义,也没有接受“Shell32.ShellLinkObject”类型的第一个论证的扩展方法“Target”(您缺少使用指令还是程序集引用?)

更新-新错误:

对象引用未设置为对象的实例

违规代码( Shell32.FolderItems项= sourceFolder.Items();)

代码语言:javascript
复制
FileSystemObject fso = new FileSystemObject();
if (!fso.FolderExists(destPath))
{
fso.CreateFolder(destPath);
}
ShellClass sc = new ShellClass();
Shell32.Folder sourceFolder = sc.NameSpace(sourcePath);
Shell32.Folder destFolder = sc.NameSpace(destPath);
Shell32.FolderItems items = sourceFolder.Items();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-29 14:40:51

目标不是有文件记载的财产 for ShellLinkObject。否则,尝试在已有10年历史的操作系统上运行代码的风险就大了。

使用路径特性代替。它必须是一个物理路径,而不是一个虚拟的shell文件夹。

票数 3
EN

Stack Overflow用户

发布于 2014-04-29 16:10:45

通常情况下,在使用COM和更改构建平台时,如果环境设置不正确,您可以像正在得到的那样获得错误。

通过删除COM引用并重新添加它,有时会修复这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23367015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档