V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
HeFengzz
V2EX  ›  问与答

准备用 electron 做弹幕浮窗,但是发现窗口无法置顶在全屏模式的游戏之上(不开无边框),比如英雄联盟。 还各位大佬指点怎样才能实现

  •  1
     
  •   HeFengzz · 47 天前 · 484 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。
    9 条回复    2021-09-13 10:54:29 +08:00
    lujjjh
        1
    lujjjh   47 天前
    很早之前研究过,据我所知需要注入到目标进程,hook 掉 D3D 的 API,用 D3D 的接口画,现在不知道有没有其他技术方案
    secondwtq
        2
    secondwtq   47 天前
    为啥不开无边框呢?对性能有影响?

    没准可以看下 ReShade 之类的
    oott123
        3
    oott123   47 天前 via Android
    简单地说:不行
    复杂的方案 1 楼说得没错,还有个办法好像是降级到低版本系统
    ysc3839
        4
    ysc3839   47 天前 via Android
    印象中 Win10 下是可以在全屏 DirectX 画面上显示的。
    ysc3839
        5
    ysc3839   47 天前
    用微软提供的 https://github.com/microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12Fullscreen 代码试了一下,全屏模式下 Snipaste 的贴图窗口也是能显示在前面的。
    ragnaroks
        6
    ragnaroks   47 天前
    独占全屏必须 hook D3D,而且没报备的话很大几率被视为外挂。

    建议还是使用无窗口,除了 FPS 其它游戏一般不会检测当前屏幕在画什么。
    HeFengzz
        7
    HeFengzz   44 天前
    @secondwtq 是的,如果机器相对弱一点就会时不时掉帧,还挺影响游戏体验的。
    HeFengzz
        8
    HeFengzz   44 天前
    「弹幕姬」可以实现这个功能,是因为它用的是 C#原因吗。
    ysc3839
        9
    ysc3839   43 天前
    @HeFengzz 应该不是。应该是我前面所说的情况,Win10 是可以在全屏 DirectX 画面上显示窗口的。还是说你在 Win7 下测试也可行?
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3055 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 04:54 · PVG 12:54 · LAX 21:54 · JFK 00:54
    ♥ Do have faith in what you're doing.