主题:  请问当程序启动后怎么改变显示器分辨率?

anlyjmy

职务:普通成员
等级:1
金币:1.0
发贴:179
#12002/5/22 18:44:20
请问当程序启动后怎么改变显示器分辨率?
我想设置为800*600,,,在不管别人机子上是1024*768,还是640*480,,都以800*600运行我的程序,程序结束后还原默设分辨率,,请高手指点?



燕云

职务:普通成员
等级:2
金币:10.0
发贴:600
#22002/5/22 23:45:58
最简单的方法是用一个相关的外挂U32-----这里推荐用Budapi.u32(因为比较方便且稳定)
运行时可以初试化屏幕:(用一个计算图标)
SetWindowPos(WindowHandle,-1,0,0,0,0,3)---演示窗口在最顶层
WriteExtFile(RecordsLocation^"skcyh.ini","演示系统设置")---采用写文件的方式记录原来系统的显示参数,这是用在有文件跳转的情况下(通常也可以写注册表),如果是单文件演示可以直接要免去此部分
screenw:=ScreenWidth----记录变量参数
screenh:=ScreenHeight
screend:=ScreenDepth
baWriteIni("显示分辨率","width",screenw,RecordsLocation^"skcyh.ini")--写配置文件
baWriteIni("显示分辨率","Height",screenh,RecordsLocation^"skcyh.ini")
baWriteIni("显示分辨率","Depth",screend,RecordsLocation^"skcyh.ini")
if ((screenw<>800)|(screenh<>600)|(screend<>16)) then------检测并设置目标显示参数
setdisplay:=1 ---此为开关参数,记录了系统显示参数的变化情况
baSetDisplay(800,600,16)
else
setdisplay:=0
end if


程序运行后退出时恢复系统显示参数:
screenw:=baReadIni("显示分辨率","width",screenw,RecordsLocation^"skcyh.ini")
screenh:=baReadIni("显示分辨率","Height",screenh,RecordsLocation^"skcyh.ini")
screend:=baReadIni("显示分辨率","Depth",screend,RecordsLocation^"skcyh.ini")
if setdisplay=1 then
baSetDisplay(screenw,screenh,screend)
end if
Quit()


提示:注意不要使用同类的u32-----BFF2000.u32-----不稳定会造成不能关机的情况-----个人情况


云网媒体【YZCNET.COM】云网媒体开展软件技术、互联网技术、电子商务技术、多媒体设计等服务; 其中包括 :软件开发、网站建设、手机服务、多媒体设计、 图片及演示文稿服务等;

monkey0312

职务:普通成员
等级:1
金币:0.0
发贴:47
#32002/5/23 11:24:12
请问你上面的SetWindowPos和baWriteIni是在Budapi.u32中吗?这个u32到哪里下载



飘雪无痕

职务:普通成员
等级:2
金币:1.0
发贴:514
#42002/5/23 11:37:01
需要的话留下邮箱,我发给你。



monkey0312

职务:普通成员
等级:1
金币:0.0
发贴:47
#52002/5/23 11:52:20
好的,谢了,sjj0408@21cn.com



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
#62002/5/23 11:52:57
SetWindowPos函数是winapi.u32里面的,在AW的安装下面可以找到!



飘雪无痕

职务:普通成员
等级:2
金币:1.0
发贴:514
#72002/5/23 12:08:59
monkey0312在上个帖子中说
引用:
好的,谢了,sjj0408@21cn.com


已经发出。winapi.u32和budapi.u32



monkey0312

职务:普通成员
等级:1
金币:0.0
发贴:47
#82002/5/23 16:09:55
已经收到了,谢谢杨新



古道猿

职务:普通成员
等级:1
金币:0.0
发贴:100
#92002/5/23 17:57:12
能发一个给我吗?谢谢。
gudyuan@163.net



飘雪无痕

职务:普通成员
等级:2
金币:1.0
发贴:514
#102002/5/24 11:22:27
To:古道猿
好久不见了,古道猿。
winapi.u32和budapi.u32已经发出。



japhone

职务:普通成员
等级:1
金币:0.0
发贴:4
#112002/8/19 10:57:24
还有没有?我也要一个。
liu-yun-ge@etang.com
谢谢!



lljjacky

职务:普通成员
等级:1
金币:0.0
发贴:11
#122002/8/19 16:16:57
这么好的东西,请给我也发一个,谢谢场新
lxjjacky@163.net



魔岩

职务:版主
等级:6
金币:34.0
发贴:4453
#132002/8/20 9:09:33
用altoos.u32(2.0版本)吧,更加方便的说,而且是完全免费的,特殊的功能是还可以设置屏幕分辨率已经刷新频率!!
相关函数介绍可以看置顶的 Authorware插件函数



小萱萱

职务:普通成员
等级:1
金币:0.0
发贴:19
#142002/11/1 10:17:46
谁能发一个Budapi.u32给我???急需~~~谢谢了。
nancy_yf@21cn.com



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:954
#152002/11/1 10:38:18
不用发了,给大家一个地盘去下载,那里AW资源应有尽有!
你想多少就多少!

http://aw5.my163.com

aw5——小平的网站的下载中心里


真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。