mac 和 windows 上怎么检测到文件夹文件拖动了

2 天前
 randomName

最好用 electron ,用 rust 也行,我看系统原生是没有提供文件拖拽的 api 的

1148 次点击
所在节点    程序员
14 条回复
Xheldon
2 天前
神奇的需求,你要干什么?
skyyan
2 天前
是要监测 文件夹下每个文件的大小 变动 还是监测文件数量
cheng6563
2 天前
Windows 的 QQ 就有检测,估计就是 hook explorer.exe 呗。
randomName
2 天前
@Xheldon 你看豆包 mac 客户端,你拖动文件的时候,他就会在顶部提示“把文档拖到这里”
randomName
2 天前
@skyyan 不是,是要监测拖动事件,类似豆包 mac 客户端,你拖动文件的时候,他就会在顶部提示“把文档拖到这里”
Rickkkkkkk
2 天前
感觉你提了个 a/b 问题。
Sentimental
2 天前
豆包客户端应该是用的 electron 吧,js 监听 drag 事件就行
Xheldon
2 天前
@randomName 哦 我理解错了,我以为你要检测某个文件夹下的某些个文件是否拖动过位置,然后要怎么着之类的。

Electron 有监听 onDrag 拖拽事件,https://www.electronjs.org/zh/docs/latest/tutorial/native-file-drag-drop
randomName
2 天前
@Sentimental 不能的,electron 那个你得拖到 browserwindow 里才能监听到。我需要的是直接在文件夹里拖动文件的时候就监听到。
randomName
2 天前
@Xheldon 不能的,electron 那个你得拖到 browserwindow 里才能监听到。我需要的是直接在文件夹里拖动文件的时候就监听到。
hatsuyuki
1 天前
electron 可以监听 dragenter 事件,tauri 也可以监听 tauri://drag-enter

如果你的需求并不是监听用户拖拽文件到你的程序,而是监听用户在文件资源管理器内部的拖动行为(虽然不知道为啥有这么奇怪的需求),那你就只能 hook explorer.exe 了
randomName
1 天前
@hatsuyuki 前因后果是,我有一个可以拖动的悬浮窗(类似豆包),因为他有很多不规则元素,所以我需要默认设置鼠标穿透,然后鼠标 hover 上去的时候,设置鼠标不穿透。然后因为默认鼠标穿透,所以文件拖动过去的时候,是触发不了 dragenter 的。

然后关于我这个需求,还有个原因,就是希望像豆包客户端( mac )一样,用户一拖动文件,就提示“拖到我这里来”。引导用户拖动到我的悬浮窗。

hook explorer.exe 能展开说说吗,我没搜到相关的内容,客户端原生我比较新手,求指教
treblex
1 天前
跑个题,豆包应该是自己编译的 chrome 吧,还是说 electron 可以实现这种效果?
treblex
1 天前
https://claude.ai/share/6b656323-3586-42fa-9ffb-7dd21b572b3b

mac 有几个比较明确支持的 api ,win 的看不太懂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1166470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX