VB.NET Windows窗体应用程序中的跳转列表

VB.NET Windows窗体应用程序中的跳转列表,vb.net,winforms,jump-list,Vb.net,Winforms,Jump List,有没有办法在VB.NET Windows窗体应用程序中创建Windows任务栏跳转列表?我想将上次打开的文件添加到列表中 我已经做了一系列搜索,可以找到这个:,但我不知道如何让System.Windows.Shell在我的应用程序中可访问。它说找不到名称空间 如果您能为我指出任何方向,我将不胜感激 以下是我的工作成果: Dim a As System.Windows.Application = System.Windows.Application.Current If a Is Nothing

有没有办法在VB.NET Windows窗体应用程序中创建Windows任务栏跳转列表?我想将上次打开的文件添加到列表中

我已经做了一系列搜索,可以找到这个:,但我不知道如何让System.Windows.Shell在我的应用程序中可访问。它说找不到名称空间


如果您能为我指出任何方向,我将不胜感激

以下是我的工作成果:

Dim a As System.Windows.Application = System.Windows.Application.Current
If a Is Nothing Then a = New System.Windows.Application

Dim currJumpList As System.Windows.Shell.JumpList = JumpList.GetJumpList(a)
If currJumpList Is Nothing Then
    currJumpList = New JumpList
    JumpList.SetJumpList(a, currJumpList)
Else
    currJumpList.JumpItems.Clear()
End If

Dim jumpTask As JumpTask

jumpTask = New JumpTask
jumpTask.Title = "This is what gets shown to the user"
jumpTask.Description = "This is what the user sees if they hover or the item"
jumpTask.ApplicationPath = "pathToYourEXE"
jumpTask.Arguments = "Your arguments"
jumpTask.CustomCategory = "The category header"
currJumpList.JumpItems.Add(jumpTask)

currJumpList.Apply()
重要提示:

  • 您需要添加对PresentationFramework.dll的引用。如果您的应用程序位于Visual Studio中,则其位于框架部分
  • 更改JumpList后调用Apply()非常重要
  • 如果您是winforms,那么在添加对PresentationFramework的引用时,您会注意到GUI更改的外观。这似乎与新闻部的意识有关。要修复此问题,请转到项目属性-->应用程序-->查看窗口设置。这将显示你的app.manifest。在这里,您将看到关于dpiaware的评论部分。取消对整个部分的注释。尝试将该值设置为真/假。我发现false可以让GUI看起来像以前一样,而true可以提高GUI中字体的清晰度。不过,这两个值都可以解决问题

您的项目中是否有PresentationFramework.dll的引用?该页面是WPF/UWP的,因此我不确定它是否能在WinForms中工作。这是值得尝试的,但你可能至少需要做出重大的改变。(target.NETFramework 4.8)我不确定这是否是提出后续问题的正确位置。如果没有,请告诉我。通过添加对PresentationFramework.dll的引用,我可以实现这种工作。现在发生的事情是,每当我调用与System.Windows.Application相关的东西时,我的gui字体看起来都比正常情况下小得多。这是WPF与Winforms的较量吗?请阅读此处的注释:。如果要禁用通过引用
PresentationFramework
程序集引入的DpiAwarenes,请跳到最后一段。-我建议不管怎样,都让你的应用程序成为DpiAware。