我想在Windows 10中将其中一个文件夹位置的快捷方式链接添加到“快速访问”。
对于Windows 7& Windows 8,我曾经把我的快捷方式链接放在文件夹“C:\ Users \ user_name \ Links”&它向我显示了左侧收藏夹的快捷方式。所以我想为Windows 10做同样的事情。
我直接复制捷径&粘贴到快速访问的位置。但它仍然没有显示在快速访问的左侧面板中。 据我所知,快速访问有两个选项:1。常用文件夹& 2.频繁的文件。
那么我需要在哪个位置放置该快捷方式链接,以便它显示在左侧面板的“快速访问”部分中?
我还想问一下,他们在Windows 10的左侧面板中添加了“OneDrive”链接?那么是否有任何注册表项或任何特定位置?
答案 0 :(得分:1)
您可以通过此PowerShell脚本执行此操作:
$o = new-object -com shell.application
$o.Namespace('c:\Folder').Self.InvokeVerb("pintohome")
答案 1 :(得分:0)
我没有找到合适的解决方案。 但我为我的问题应用了解决方法。 我在快速访问位置(\ Links)创建了文件夹。并使用mkilink cmd我将它的符号链接更改为目标文件夹。我使用Process在C#代码中使用cmd提示符使用mklink。
答案 2 :(得分:0)
我使用以下代码在c:\ users \ user_name \ links创建文件夹快捷方式,它在Windows 7& 8但在Windows资源管理器中的Windows 10快速访问链接下无法看到它。
string sLinkFileName = "c:\users\user_name\links\\" + DefineString.AppName + ".lnk";
FileInfo objfiLinkFile = new FileInfo(sLinkFileName);
if (objfiLinkFile.Exists)
{
try
{
objfiLinkFile.Delete();
}
catch (Exception ex)
{
Logger.Log(LoggingLevel.Info, MethodBase.GetCurrentMethod().Name, string.Empty, ex);
}
}
//Place a shortcut to the file in the special folder
objfiLinkFile.Refresh();
if (objfiLinkFile.Exists)
{
Logger.Log(LoggingLevel.Info, MethodBase.GetCurrentMethod().Name, "Old link file still exists.");
}
// Create a shortcut in the special folder for the file
// Making use of the Windows Scripting Host
IWshRuntimeLibrary.WshShell shell = new IWshRuntimeLibrary.WshShell();
IWshRuntimeLibrary.IWshShortcut link = (IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(objfiLinkFile.FullName);
link.TargetPath = Utils.msApplicationRootPath;
link.WindowStyle = 1;
link.Description = string.Format(DefineString.m00025, DefineString.AppName);
link.IconLocation = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\RootFolder.ico";
link.Save();
我也试着像你提到的那样打电话给mklink;但它不起作用。不幸的是,我们没有对用户桌面的任何直接控制。 mklink命令需要管理员权限吗?您用哪个mklink命令来解决问题。非常感谢您的帮助。
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = string.Format(@"/C mklink {0} {1}", sLinkFileName, Utils.msApplicationRootPath);
process.StartInfo = startInfo;
process.Start();