【问题标题】:UWP form Start Menu VB.Net Drag and DropUWP 窗体开始菜单 VB.Net 拖放
【发布时间】:2020-08-15 06:07:42
【问题描述】:

我正在尝试从 Windows 10 的“开始”菜单中“拖放”图标以获取它的目标;当然,这适用于 .lnk,但在处理 UWP 时,它实际上不是 .lnk(据我所知)。 FileName、FileNameW 和 FileDrop 始终为“Nothing”

谁能想到将 UWP 的目标拖到 VB 中的窗体(Windows 窗体)上的方法(即使它是在应用程序路径中创建快捷方式并保存并获取该“目标”路径) .net 或 C# ;两者都可以。

我已经尝试了所有我能想到的方法,但似乎找不到文档或创建任何逻辑来使其工作。

【问题讨论】:

    标签: .net vb.net winforms uwp drag-and-drop


    【解决方案1】:

    如果其他人需要它,这将起作用。这是一种简单明了的方法,而且效果很好。

    Imports Microsoft.WindowsAPICodePack.Shell
    

    然后在 DragEnter 上

    If e.Data.GetDataPresent("Shell IDList Array") Then
    e.Effect = e.AllowedEffect
    End If
    

    然后拖放

    Dim ShellObj = ShellObjectCollection.FromDataObject(e.Data)
    For Each itm As ShellObject In ShellObj
    ' here is where you add what you want to parse the information to 
    'like last time I am passing the information to labels and then listbox
    'App Name ("Friendly Name")
    Label3.Text = itm.Name
    'App ID
    Label4.Text = itm.ParsingName
    'Install Path
    Label5.Text = itm.Properties.GetProperty("System.AppUserModel.PackageInstallPath").ValueAsObject
    
    Next
    End Sub
    

    你可以将结果传递到任何你想要的地方我只是使用标签来解释简单。

    【讨论】:

      猜你喜欢
      • 2018-03-03
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多