Closed eriforce closed 2 years ago
代码看起来像是没有做多余处理,只是在调用win32api。并且这里没有依赖decoration,用的是正确的client的坐标。有可能是微软的问题。建议附带windows版本号和可重现的代码提交微软。
这里把窗口居中了吧,猜测是不是因为borderless没有标题栏导致了窗口偏上
我本地目前去掉了这个if就正常了
根据微软文档SWP_NOMOVE
的含义是
SWP_NOMOVE 0x0002
Retains the current position (ignores X and Y parameters).
确实看起来代码有问题(只有等于nomove的时候执行,计算一个被忽略的结果,而且是flag应该用&
位运算)。那个if里面没注意。。。
根据微软文档
SWP_NOMOVE
的含义是SWP_NOMOVE 0x0002 Retains the current position (ignores X and Y parameters).
确实看起来代码有问题(只有等于nomove的时候执行,计算一个被忽略的结果,而且是flag应该用
&
位运算)。那个if里面没注意。。。
flags这里没问题,是针对游戏的逻辑,有一处调用flags是no move,目的是只在那里居中
大佬好, 因为隔壁repo没有开issues就发在这里了
https://github.com/Ouroboros/Falcom/blob/d7fd30fc7a8fbf4416d0af2d792de20e7d6df661/ED6Steam/frida/src/ed6fc_dx9/ed6fc.ts#L194 发现这个地方,在使用borderless windowed mode(显示器原生分辨率+窗口模式)的情况下,窗口位置会向上偏移 目前FC、SC中都有这段代码所以有一样的问题
原版设置好像没有无边框的选项啊
大佬好, 因为隔壁repo没有开issues就发在这里了 https://github.com/Ouroboros/Falcom/blob/d7fd30fc7a8fbf4416d0af2d792de20e7d6df661/ED6Steam/frida/src/ed6fc_dx9/ed6fc.ts#L194 发现这个地方,在使用borderless windowed mode(显示器原生分辨率+窗口模式)的情况下,窗口位置会向上偏移 目前FC、SC中都有这段代码所以有一样的问题
原版设置好像没有无边框的选项啊
分辨率选到显示器分辨率的时候,windowed mode会变成borderless windowed mode
主要问题是全屏后, SPI_GETWORKAREA返回的高度是不包含任务栏的, 这样算出来的X就错了
代码和百度网盘更新了
非常感谢
大佬好, 因为隔壁repo没有开issues就发在这里了
https://github.com/Ouroboros/Falcom/blob/d7fd30fc7a8fbf4416d0af2d792de20e7d6df661/ED6Steam/frida/src/ed6fc_dx9/ed6fc.ts#L194 发现这个地方,在使用borderless windowed mode(显示器原生分辨率+窗口模式)的情况下,窗口位置会向上偏移 目前FC、SC中都有这段代码所以有一样的问题