gpt4 book ai didi

c# - 在 C# 中的快捷方式后面复制文件

转载 作者:行者123 更新时间:2023-11-30 18:02:55 25 4
gpt4 key购买 nike

我正在使用 C# 访问系统上的最新文件并通过

复制它们
Environment.SpecialFolder.Recent

然而,Windows 中的最近文件夹只是创建指向文件实际位置的快捷方式。如何复制快捷方式指向的文件而不是快捷方式本身?

非常感谢您的帮助

最佳答案

我找到并修改了这段代码,对我有用:

static string GetShortcutTargetFile(string shortcutFilename)
{
string pathOnly = System.IO.Path.GetDirectoryName(shortcutFilename);
string filenameOnly = System.IO.Path.GetFileName(shortcutFilename);

Shell32.Shell shell = new Shell32.Shell();
Shell32.Folder folder = shell.NameSpace(pathOnly);
Shell32.FolderItem folderItem = folder.ParseName(filenameOnly);
if (folderItem != null)
{
return ((Shell32.ShellLinkObject)folderItem.GetLink).Path;
}

return ""; // not found, use if (File.Exists()) in the calling code
// or remove the return and throw an exception here if you like
}

您必须将对 Microsoft Shell Controls And Automation COM 对象 (Shell32.dll) 的引用添加到项目才能使其正常工作。

关于c# - 在 C# 中的快捷方式后面复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7739551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com