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

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

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

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

    建议还是使用无窗口,除了 FPS 其它游戏一般不会检测当前屏幕在画什么。
    HeFengzz
        7
    HeFengzz  
    OP
       2021-09-12 04:17:50 +08:00
    @secondwtq 是的,如果机器相对弱一点就会时不时掉帧,还挺影响游戏体验的。
    HeFengzz
        8
    HeFengzz  
    OP
       2021-09-12 04:19:38 +08:00
    「弹幕姬」可以实现这个功能,是因为它用的是 C#原因吗。
    ysc3839
        9
    ysc3839  
       2021-09-13 10:54:29 +08:00
    @HeFengzz 应该不是。应该是我前面所说的情况,Win10 是可以在全屏 DirectX 画面上显示窗口的。还是说你在 Win7 下测试也可行?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5365 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:28 · PVG 16:28 · LAX 00:28 · JFK 03:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.