开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 130|回复: 2
收起左侧

[完成] "窗口_置位置和大小"设置外部窗口后窗口内容会拉伸变形。

 关闭 [复制链接]
结帖率:100% (1/1)
发表于 3 天前 | 显示全部楼层 |阅读模式   **
5精币
“窗口_置位置和大小”,用这个函数去设置游戏窗口,游戏窗口倒是能够设置到指定位置和大小,但游戏窗口内的内容却被拉伸变形不成样子了。但是手动拖动游戏窗口又没有问题。我用的是笔记本,win11,求解决代码。

最佳答案

查看完整内容

原因是该函数仅修改窗口外层尺寸,未同步匹配游戏内部的 “分辨率 / 渲染比例” 设置,导致游戏画面强制拉伸。 可以这样写 [e=1].版本 2 .DLL命令 SetWindowPos, 逻辑型, "user32.dll", "SetWindowPos" .参数 hWnd, 整数型, , 要设置的窗口句柄 .参数 hWndInsertAfter, 整数型, , 设为-1即可(忽略窗口层级) .参数 X, 整数型, , 窗口左上角x坐标 .参数 Y, 整数型, , 窗口左上角y坐标 .参数 cx, 整数型, , 窗口宽度 .参数 cy, ...
结帖率:100% (14/14)

签到天数: 16 天

发表于 3 天前 | 显示全部楼层   湖南省怀化市
[color=rgba(0, 0, 0, 0.8)]原因是该函数仅修改窗口外层尺寸,未同步匹配游戏内部的 “分辨率 / 渲染比例” 设置,导致游戏画面强制拉伸。
[color=rgba(0, 0, 0, 0.8)]

[color=rgba(0, 0, 0, 0.8)]可以这样写
[color=rgba(0, 0, 0, 0.8)]

  
DLL命令名返回值类型公开备 注
SetWindowPos逻辑型 
DLL库文件名:
user32.dll
在DLL库中对应命令名:
SetWindowPos
参数名类 型传址数组备 注
子程序名返回值类型公开备 注
(未填写子程序名)   
参数名类 型参考可空数组备 注
参数名类 型参考可空数组备 注
hWnd整数型要设置的窗口句柄
hWndInsertAfter整数型设为-1即可(忽略窗口层级)
X整数型窗口左上角x坐标
Y整数型窗口左上角y坐标
cx整数型窗口宽度
cy整数型窗口高度
uFlags整数型行为标志(设为6即可:保留当前Z序+更新尺寸)




或者

  
' (先按步骤一获取宽高比,计算目标宽度和目标高度)
' 调用API设置,uFlags设为6(SWP_NOZORDER + SWP_NOACTIVATE,避免窗口强制激活)
SetWindowPos (游戏句柄, -1, 100, 100, 目标宽度, 目标高度, 6)

回复

使用道具 举报

结帖率:100% (1/1)
 楼主| 发表于 前天 10:51 | 显示全部楼层   **
素顏じ亦傾國ジ 发表于 2025-12-22 20:02
原因是该函数仅修改窗口外层尺寸,未同步匹配游戏内部的 “分辨率 / 渲染比例” 设置,导致游戏画面强制拉 ...

还是不行,最后采用模拟 鼠标按下-移动-松开 的本办法解决的。问题是解决了,就是不够稳定。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表