V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
brokensword2018
V2EX  ›  Windows

咨询一个 windows 开发的技术问题

  •  
  •   brokensword2018 · 6 天前 · 1065 次点击

    2.gif

    在 windows 中使用 win + v 激活自带的 windows 自带的剪切板管理软件,并不会影响当前软件的激活状态。而且剪切板管理软件可以获得键盘焦点。这个是怎么实现的。第三方应用可以实现吗。

    24 条回复    2024-12-09 09:07:45 +08:00
    iOCZS
        1
    iOCZS  
       6 天前
    会不会是障眼法,最外面的其实没必要聚焦。。。。
    xujinkai
        2
    xujinkai  
       6 天前 via Android
    这个问题我也想知道。。。看有没有大佬答疑
    mainjzb
        3
    mainjzb  
       6 天前
    powerTorys 里的高级剪贴板并没有这样的效果,我怀疑不是公开 api
    mumbler
        4
    mumbler  
       6 天前
    接管 win + v ,自己启动 windows 自带软件,然后完成自己的操作
    ibinary
        5
    ibinary  
       5 天前
    有意思的技术.可以逆向一波了.
    shintendo
        6
    shintendo  
       5 天前
    类似输入法?
    brokensword2018
        7
    brokensword2018  
    OP
       5 天前
    @iOCZS 不是外面的窗口确实是激活状态且保持为前台进程。
    brokensword2018
        8
    brokensword2018  
    OP
       5 天前
    @shintendo 不是很清楚,在这个软件里是可以用输入法的
    hingle
        9
    hingle  
       5 天前
    你看图中的搜狗输入法,在打字的时候,文本编辑器、剪切板和输入法,三个焦点同时存在。
    dandycheung
        10
    dandycheung  
       5 天前 via Android
    系统的窗口风格,有一个是 WS_EX_NOACTIVATE ,你查查文档看。
    ysc3839
        11
    ysc3839  
       5 天前 via Android
    应该就是 WS_EX_NOACTIVATE ,可以找找屏幕键盘、输入法之类的代码看看
    brokensword2018
        12
    brokensword2018  
    OP
       5 天前
    @dandycheung 这个不激活但是同时也没有键盘焦点。
    xujinkai
        13
    xujinkai  
       5 天前 via Android
    突然想到,可以在不激活的同时,用 low level 键盘钩子获取全局键盘事件,假装有个焦点。
    brokensword2018
        14
    brokensword2018  
    OP
       5 天前
    @xujinkai #13 可能是个解决办法。输入法这样工作好像有问题。
    byasm32
        15
    byasm32  
       5 天前
    应该用 IMM 输入法接口实现的
    brokensword2018
        16
    brokensword2018  
    OP
       5 天前
    有可能,我研究一下。
    jayasme
        17
    jayasme  
       5 天前
    我猜应该跟输入法一样是将自己的进程注入到目标进程,当你按下 win+v 其实只是激活了当前应用程序的粘贴板模块
    brokensword2018
        18
    brokensword2018  
    OP
       4 天前
    @jayasme 大佬,应用程序的粘贴板模块是指什么。
    jayasme
        19
    jayasme  
       4 天前
    @brokensword2018 就是粘贴板将自己作为子进程注入进主进程,对于主进程来说就是一个模块了
    xgdgsc
        20
    xgdgsc  
       4 天前
    借道问一个华硕电脑偷焦点的相关问题 https://tieba.baidu.com/p/9281417953
    byasm32
        21
    byasm32  
       4 天前
    @jayasme #19 注入了也实现不了双焦点;应该就只有输入法框架。
    ns09005264
        22
    ns09005264  
       4 天前
    mark 一下,我刚好这两天也想到是否有这样的技术可以在屏幕临时展示一些信息,但不影响正在使用的程序的焦点。
    brokensword2018
        23
    brokensword2018  
    OP
       4 天前
    @ns09005264 WS_EX_NOACTIVATE 只展示信息的话不需要输入的话,WS_EX_NOACTIVATE 就够了。
    ayangweb
        24
    ayangweb  
       10 小时 24 分钟前
    哈哈,同问!这个问题我已经在 macOS 上实现了,但在 Windows 上一直被卡住,困扰了我很久!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3155 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:32 · PVG 19:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.