【发布时间】:2010-09-29 15:03:58
【问题描述】:
有什么方法可以打开 Windows 快捷方式(.lnk 文件)并更改它的目标?我找到了下面的 sn-p,它可以让我找到当前的目标,但它是一个只读属性:
Shell32::Shell^ shl = gcnew Shell32::Shell();
String^ shortcutPos = "C:\\some\\path\\to\\my\\link.lnk";
String^ lnkPath = System::IO::Path::GetFullPath(shortcutPos);
Shell32::Folder^ dir = shl->NameSpace(System::IO::Path::GetDirectoryName(lnkPath));
Shell32::FolderItem^ itm = dir->Items()->Item(System::IO::Path::GetFileName(lnkPath));
Shell32::ShellLinkObject^ lnk = (Shell32::ShellLinkObject^)itm->GetLink;
String^ target = lnk->Target->Path;
我找不到任何可以改变目标的东西。我唯一的选择是创建一个新的快捷方式来覆盖当前快捷方式吗? ..如果是这样,我该怎么做?
【问题讨论】:
标签: .net c++-cli windows-xp-embedded shell32