我正在编写一个.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理器时强制删除作为快捷方式对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)