导读

[源码] COM+纯源码实现“发起拖放”文件到任意软件/程序源码分享

[复制链接]

微信扫一扫 分享朋友圈

730422343 发表于 6 天前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多易友,享用更多功能,让你轻松玩转觅风论坛。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
拖放文件不是自带属性吗?为什么要写这么复杂的代码?这里必须科普一下“接收拖放”和“发起拖放”的巨大区别,这完全是两个难度的次元:

难度:接收拖放 (Drag Drop)

场景:把桌面的文件拖进你的软件里。
原理:这是 Windows 系统“喂”给你的。你只需要响应一个简单的 WM_DROPFILES 消息,或者把组件属性设为“接收文件”即可。这是入门级操作。

难度:发起拖放 (Drag Source) —— 本源码实现的功能

场景:把你软件列表框里的文件,拖出去,发给 QQ、微信、资源管理器或桌面。
原理:这次是你把数据“喂”给系统。Windows 要求极高,你必须:

手动构建 OLE/COM 对象。
实现 IDropSource 接口(控制光标反馈)。
实现 IDataObject 接口(管理数据格式)。
处理复杂的 CF_HDROP 剪贴板格式和全局内存 (GlobalAlloc)。


本源码通过纯易语言代码,硬撸了一套 COM 接口,完美实现了“拖拽源”功能。

023654r4oqe8xo6x5s85e5.gif



游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

精彩评论4

骑着蚂蚁兜风 发表于 6 天前 | 显示全部楼层
想学唉,可惜现在的我啥都不会
回复 支持 反对

使用道具 举报

2675835142 发表于 6 天前 | 显示全部楼层
很给力。。。。很喜欢
回复 支持 反对

使用道具 举报

封偌丶 发表于 6 天前 | 显示全部楼层
支持一下,期待更多东西
回复 支持 反对

使用道具 举报

jackleos 发表于 6 天前 | 显示全部楼层
学习了,这就去试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们:觅风论坛与你快乐分享

收藏本站

用心服务做个非盈利公益编程网站

www.eyyba.com

服务人:觅风论坛

Email:eyyba@foxmail.com

Powered by WWW.EYYBA.COM X3.4© 2001-2023 Inc.   版权所有   

觅风论坛  疆ICP备15020893号-1