Isayama-Kagura / TsubakiTranslator

一款Galgame文本翻译工具,支持Textractor/剪切板/OCR翻译
GNU General Public License v3.0
262 stars 22 forks source link

建议尝试兼容Magpie #9

Closed chaos700 closed 2 years ago

chaos700 commented 2 years ago

Magpie https://github.com/Blinue/Magpie

最近很多人使用的游戏窗口放大全屏器, 对低分辨老游戏效果很好,让全屏画面不再模糊, 但用了Magpie全屏,TsubakiTranslator翻译窗口会被覆盖, 不过VNR翻译窗口却不会被遮挡,似乎有方法能让翻译窗口一直保持最前级。

无论如何,TsubakiTranslator翻译介面是我用几个galgame翻译器里最舒服,加油!

Isayama-Kagura commented 2 years ago

这里是通过设置窗口的Topmost属性来保持最前的,还有什么方法我也不太懂,只能等大佬解答了

DDWSdwqdq commented 2 years ago

要想保持游戏的最前台显示,可以让翻译窗口程序注入到游戏中。

luojunyuan commented 2 years ago

楼上大佬的办法很高级👍。 土方法是通过调用 win32api 的 BringWindowToTop 来把文本窗口提到最前并且不激活窗口导致magpie窗口退出。这个方法也适用那些全屏占用的dx游戏或其他引擎。 vnr 是设置了定时器大概每200ms都会将窗口提前一次。 可以考虑每出现新文本就提前一次,或者使用快捷键将窗口提前,看看怎么设计比较好。 如果要全屏交互文本窗口可以处理下焦点相关。

Isayama-Kagura commented 2 years ago

楼上大佬的办法很高级👍。 土方法是通过调用 win32api 的 BringWindowToTop 来把文本窗口提到最前并且不激活窗口导致magpie窗口退出。这个方法也适用那些全屏占用的dx游戏或其他引擎。 vnr 是设置了定时器大概每200ms都会将窗口提前一次。 可以考虑每出现新文本就提前一次,或者使用快捷键将窗口提前,看看怎么设计比较好。 如果要全屏交互文本窗口可以处理下焦点相关。

尝试了一下用定时器定期执行BringWindowToTop()是可以在magpie前面,可一旦尝试去点击翻译器时magpie就退出全屏了,这是正常现象把?如果没问题我就更新上去了

Isayama-Kagura commented 2 years ago

感谢楼上大佬们的解答,新文件已发布