brokensword2018
V2EX  ›  Windows

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

  •  
  •   brokensword2018 · Dec 3, 2024 · 2933 views
    This topic created in 712 days ago, the information mentioned may be changed or developed.

    2.gif

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

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