| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 115 人关注过本帖
标题:ChangEres(1024,768)的调用问题
只看楼主 加入收藏
hblemon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-21
结帖率:100%
收藏
 问题点数:16 回复次数:4 
ChangEres(1024,768)的调用问题
Vfp9环境下,在windows10系统中,利用Myfll.fll中的ChangEres()函数,实现分辨率(1024,768)的窗口,但不起作用,请问还有什么办法?
3 天前 17:32
kangss
Rank: 8Rank: 8
等 级:贵宾
威 望:14
帖 子:292
专家分:704
注 册:2014-6-12
收藏
得分:0 
程序代码:
LPARAMETERS _X,_Y
lcDevMode=REPLICATE(CHR(0),156)
DECLARE INTEGER EnumDisplaySettings IN user32 INTEGER,INTEGER,STRING @
DECLARE INTEGER ChangeDisplaySettings IN user32 STRING @,INTEGER
*获取当前的显示模式
EnumDisplaySettings(0,4294967295,@lcDevMode)
*改变已获取的显示模式中的分辩率(宽、高)
lcDevMode=STUFF(lcDevMode,109,8,CHR(m._X%256)+CHR(m._X/256)+CHR(0)+CHR(0)+CHR(m._Y%256)+CHR(m._Y/256)+CHR(0)+CHR(0))
*使改变生效
ChangeDisplaySettings(@lcDevMode,1)
CLEAR DLLS "EnumDisplaySettings","ChangeDisplaySettings"
前天 14:34
hblemon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-21
收藏
得分:0 
回复 2楼 kangss
lcDevMode=STUFF(lcDevMode,109,8,CHR(m._X%256)+CHR(m._X/256)+CHR(0)+CHR(0)+CHR(m._Y%256)+CHR(m._Y/256)+CHR(0)+CHR(0))
这条语句无法顺利执行
前天 19:11
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:740
专家分:2965
注 册:2018-3-13
收藏
得分:0 
以下是引用hblemon在2025-4-1 19:11:33的发言:
这条语句无法顺利执行

kangss 粘贴给你的是一个过程内的代码,_x,_y 是传入的宽/高参数
想直接运行的话,在出错行之前给 _x,_y 赋值即可,或者更直接点,把出错行里面的 _x、_y 换成 1024、768

但是,即使运行无错也不一定成功,成功执行 ChangeDisplaySettings 的先决条件是需要管理员权限,你调用 Myfll.ChangEres() 失败应该也是这一原因


这家伙很懒,啥也没留下
前天 19:53
hblemon
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-4-21
收藏
得分:0 
回复 4楼 csyx
谢谢
昨晚 20:36
快速回复:ChangEres(1024,768)的调用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017843 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved