有什么方法可以打开 Windows 快捷方式(.lnk 文件)并更改它的目标?我找到了下面的代码片段,它可以让我找到当前的目标,但它是一个只读属性:
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;
我找不到任何东西来改变目标。我唯一的选择是创建一个新的快捷方式来覆盖当前快捷方式吗?..如果是这样,我该怎么做?