加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 RyanBern 于 2015-10-18 11:53 编辑
自从换了新电脑后,RMXP就一直无法正常启动的,总是显示“无法运行在不满1024*768的屏幕上”。但是系统当前的分辨率是1920*1080的,按理说应该足够,但是不知道为什么RMXP就是无法打开。后来我尝试着把分辨率调成了1366*768,结果RMXP能正常开启。当初我以为是RMXP除了不支持低分辨率以外,还不支持高分辨率。但是,昨天又在Steam下载了一个名为ShareX的软件,但是用其截图总是出错,报错的内容如下:
这段话大概的意思就是我选取的矩形区域在屏幕以外,并且指出我当前屏幕分辨率是1280*720,并不是1920*1080。但是系统设置里分辨率的确是1920*1080的,难道是系统识别错误吗?
于是我新建了一个程序,输入了以下代码:
#include<stdio.h> #include<Windows.h> #include<WinUser.h> int main(){ int x = GetSystemMetrics(SM_CXSCREEN); int y = GetSystemMetrics(SM_CYSCREEN); printf("x:%d y:%d",x, y); return 0; }
#include<stdio.h>
#include<Windows.h>
#include<WinUser.h>
int main(){
int x = GetSystemMetrics(SM_CXSCREEN);
int y = GetSystemMetrics(SM_CYSCREEN);
printf("x:%d y:%d",x, y);
return 0;
}
结果输出如下:
貌似是GetSystemMetrics函数返回的值不正确?不知道是Windows API的BUG还是我使用的姿势不对呢?
PS:在其他分辨率下,这个函数能够返回正确的数值。
使用百度到的办法,暂时解决了,将缩放级别改为125%,之后这个函数也会返回正常的值了,但是不知道为什么会这样。
|