如何解决UWP表单开始菜单VB.Net拖放
我正在尝试从Windows 10的“开始”菜单中“拖放”图标来获取目标。自然,这可以与.lnk一起使用,但是在处理UWP时,它实际上不是.lnk(据我所知)。 FileName,FileNameW和FileDrop始终为“无”
谁能想到一种将UWP的目标拖到VB中的窗体(Windows窗体)上的方法(即使它是在应用程序路径中创建快捷方式并保存并获取该“目标”路径)。 .net或C#;都可以。
我已经尝试了所有我能想到的东西,但似乎找不到文档或创建任何逻辑来使其工作。
解决方法
如果其他人需要它,则可以使用。这是一种简单易行的方法,效果很好。
Imports Microsoft.WindowsAPICodePack.Shell
然后在DragEnter上
If e.Data.GetDataPresent("Shell IDList Array") Then
e.Effect = e.AllowedEffect
End If
然后在DragDrop上
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
您可以将结果传递到任何您想要的地方,我只是使用标签来简化说明。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。