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

2021-09-08 21:30:32 +08:00
 HeFengzz
1076 次点击
所在节点    问与答
9 条回复
lujjjh
2021-09-08 22:53:13 +08:00
很早之前研究过,据我所知需要注入到目标进程,hook 掉 D3D 的 API,用 D3D 的接口画,现在不知道有没有其他技术方案
secondwtq
2021-09-09 00:33:29 +08:00
为啥不开无边框呢?对性能有影响?

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

建议还是使用无窗口,除了 FPS 其它游戏一般不会检测当前屏幕在画什么。
HeFengzz
2021-09-12 04:17:50 +08:00
@secondwtq 是的,如果机器相对弱一点就会时不时掉帧,还挺影响游戏体验的。
HeFengzz
2021-09-12 04:19:38 +08:00
「弹幕姬」可以实现这个功能,是因为它用的是 C#原因吗。
ysc3839
2021-09-13 10:54:29 +08:00
@HeFengzz 应该不是。应该是我前面所说的情况,Win10 是可以在全屏 DirectX 画面上显示窗口的。还是说你在 Win7 下测试也可行?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/800704

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX