V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
randomName
V2EX  ›  程序员

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

  •  1
     
  •   randomName · 2 天前 · 1133 次点击

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

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

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

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

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

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

    mac 有几个比较明确支持的 api ,win 的看不太懂
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2151 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:07 · PVG 00:07 · LAX 09:07 · JFK 12:07
    ♥ Do have faith in what you're doing.