有没有办法打开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;
我找不到任何可以更改目标的内容。我的唯一选择是创建一个新的快捷方式来覆盖当前的快捷方式吗?如果是这样,我该如何做呢?