有没有一种方法可以使用 ProcessStartInfo 在 Windows 最近的项目跳转列表中创建快捷方式?
Is there a way to use ProcessStartInfo that will create a shortcut in the Windows recent items jump list?
我正在使用 ProcessStart 和 ProcessInfoStart 从 %username%\My Documents 文件夹位置下的目录打开一个 PDF 文件。如果我以编程方式打开文件,pdf 不会显示在 C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Recent 项目位置下 - 但会显示在 Adobe Acrobat 的跳转列表中。如果我双击该文件,在文件资源管理器中,PDF 将显示在最近的项目位置。
我尝试将 PDF 保存并打开为 HTML 文档,但它们仍然不会显示在 "Recent Items" 下。尝试在启动 ProcessStartInfo 时直接调用 Acrobat。
var processStart = new ProcessStartInfo("AcroRd32.exe");
我试过直接打开文件资源管理器并传入“/select”和文件路径 - 它会在 Acrobat 中打开但不会显示在最近的项目中。
var processStart = new ProcessStartInfo("AcroRd32.exe");
var savePath = @"C:\Users\%username%\My Documents\PDFs\MyPdf.pdf";
//processStart.Arguments = savePath;
processStart.WindowStyle = ProcessWindowStyle.Minimized;
var fileArgs = $"/select, ""{savePath}""";
processStart.Arguments = fileArgs;
processStart.UseShellExecute = false;
Process.Start(processStart);
有没有办法在使用 ProcessStart 打开文件位置时 refresh/update 最近的项目跳转列表?谢谢!
有一个选项可以通过 SHAddToRecentDocs API:
手动添加
这是 C# 示例:
public enum ShellAddToRecentDocsFlags
{
Pidl = 0x001,
Path = 0x002
}
[DllImport("shell32.dll", CharSet = CharSet.Ansi)]
private static extern void SHAddToRecentDocs(ShellAddToRecentDocsFlags flag, string path);
用法:
SHAddToRecentDocs(ShellAddToRecentDocsFlags.Path, @"C:\Users\%username%\My Documents\PDFs\MyPdf.pdf");
我正在使用 ProcessStart 和 ProcessInfoStart 从 %username%\My Documents 文件夹位置下的目录打开一个 PDF 文件。如果我以编程方式打开文件,pdf 不会显示在 C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Recent 项目位置下 - 但会显示在 Adobe Acrobat 的跳转列表中。如果我双击该文件,在文件资源管理器中,PDF 将显示在最近的项目位置。
我尝试将 PDF 保存并打开为 HTML 文档,但它们仍然不会显示在 "Recent Items" 下。尝试在启动 ProcessStartInfo 时直接调用 Acrobat。
var processStart = new ProcessStartInfo("AcroRd32.exe");
我试过直接打开文件资源管理器并传入“/select”和文件路径 - 它会在 Acrobat 中打开但不会显示在最近的项目中。
var processStart = new ProcessStartInfo("AcroRd32.exe");
var savePath = @"C:\Users\%username%\My Documents\PDFs\MyPdf.pdf";
//processStart.Arguments = savePath;
processStart.WindowStyle = ProcessWindowStyle.Minimized;
var fileArgs = $"/select, ""{savePath}""";
processStart.Arguments = fileArgs;
processStart.UseShellExecute = false;
Process.Start(processStart);
有没有办法在使用 ProcessStart 打开文件位置时 refresh/update 最近的项目跳转列表?谢谢!
有一个选项可以通过 SHAddToRecentDocs API:
手动添加这是 C# 示例:
public enum ShellAddToRecentDocsFlags
{
Pidl = 0x001,
Path = 0x002
}
[DllImport("shell32.dll", CharSet = CharSet.Ansi)]
private static extern void SHAddToRecentDocs(ShellAddToRecentDocsFlags flag, string path);
用法:
SHAddToRecentDocs(ShellAddToRecentDocsFlags.Path, @"C:\Users\%username%\My Documents\PDFs\MyPdf.pdf");