mac 和 windows 上怎么检测到文件夹文件拖动了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
randomName
V2EX    程序员

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

  •  1
     
  •   randomName 68 天前 1911 次点击
    这是一个创建于 68 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    mac 有几个比较明确支持的 api ,win 的看不太懂
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5621 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 03:05 PVG 11:05 LAX 19:05 JFK 22:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86