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

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

  •  1
     
  •   randomName · 1 天前 · 1032 次点击

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

    14 条回复    2025-10-19 04:13:32 +08:00
    Xheldon
        1
    Xheldon  
       1 天前
    神奇的需求,你要干什么?
    skyyan
        2
    skyyan  
       1 天前
    是要监测 文件夹下每个文件的大小 变动 还是监测文件数量
    cheng6563
        3
    cheng6563  
       1 天前
    Windows 的 QQ 就有检测,估计就是 hook explorer.exe 呗。
    randomName
        4
    randomName  
    OP
       1 天前
    @Xheldon 你看豆包 mac 客户端,你拖动文件的时候,他就会在顶部提示“把文档拖到这里”
    randomName
        5
    randomName  
    OP
       1 天前
    @skyyan 不是,是要监测拖动事件,类似豆包 mac 客户端,你拖动文件的时候,他就会在顶部提示“把文档拖到这里”
    Rickkkkkkk
        6
    Rickkkkkkk  
       1 天前
    感觉你提了个 a/b 问题。
    Sentimental
        7
    Sentimental  
       1 天前
    豆包客户端应该是用的 electron 吧,js 监听 drag 事件就行
    Xheldon
        8
    Xheldon  
       1 天前
    @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  
       21 小时 48 分钟前
    electron 可以监听 dragenter 事件,tauri 也可以监听 tauri://drag-enter

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

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

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

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