从.NET应用程序拖到Windows资源pipe理器时强制删除作为快捷方式对象

从.NET应用程序拖到Windows资源pipe理器时强制删除作为快捷方式对象,第1张

概述从.NET应用程序拖到Windows资源pipe理器时强制删除作为快捷方式对象

我正在编写一个.NET应用程序,它以与windows资源pipe理器相同的方式呈现对象的树/列表视图。 这些是基于文本的项目,用户可以将其视为文件,我希望用户能够创build快捷方式,类似于创build任何文件的快捷方式。 除了在这个例子中,这个快捷方式将是我的应用程序使用特定的命令行而不是文件对象。 所以我需要支持拖放到Internet Explorer,使拖动图标看起来像Alt拖动(创build快捷方式)图标,拖放 *** 作使用自定义命令行创build到我的应用程序的快捷方式。

我的问题:我需要在拖动 *** 作开始时向windows提供哪些信息,以便windows资源pipe理器显示正确的图标并始终在拖放事件中创build快捷方式?

免费的windows安装程序

winscard.dll在.NET应用程序中的ERROR_INVALID_HANDLE

如何在liveCharts中添加每点工具提示? 如何在同一行上使用不同颜色的点?

将批处理shell脚本输出读入C#.Net程序

C#试图打开远程文件的位置,但windows不通过凭据

最简单的方法是1)创建快捷方式,2)拖动它。 我没有做太多的托管代码,所以我不能说是否有任何IShelllink对象的内置支持。 如果没有,有人可能已经完成了工作,并建立了一个包装。 所以你可以创建Shelllink对象,并将其填入应用程序的路径,参数等,并将其保存在某处(也许是临时文件夹)。 然后你可以用下面的方法启动拖动 *** 作:

private voID Form1_MouseDown(object sender,MouseEventArgs e) { if ((e.button & Mousebuttons.left) == Mousebuttons.left) { // left mouse button clicked; begin drag // create data object with fileDrop format (List of files to be dropped) DataObject data = new DataObject(); System.Collections.Specialized.StringCollection paths = new System.Collections.Specialized.StringCollection(); paths.Add(@"<temp_path>My New Shortcut.lnk"); data.SetfileDropList(paths); // begin the drag,indicating it is a copy operation DragDropEffects effect = DoDragDrop(data,DragDropEffects.copy); } }

然后,当用户将其删除(例如在桌面上)时,它将从临时文件夹复制快捷方式文件。

总结

以上是内存溢出为你收集整理的从.NET应用程序拖到Windows资源pipe理器时强制删除作为快捷方式对象全部内容,希望文章能够帮你解决从.NET应用程序拖到Windows资源pipe理器时强制删除作为快捷方式对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1279843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存