赞 | 22 |
VIP | 5 |
好人卡 | 14 |
积分 | 30 |
经验 | 30850 |
最后登录 | 2023-9-6 |
在线时间 | 1052 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3039
- 在线时间
- 1052 小时
- 注册时间
- 2011-8-16
- 帖子
- 242
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 失落的乐章 于 2015-3-27 20:35 编辑
代码:- module Graphics
- #取得窗口句柄
- HWND = Win32API.new('user32','GetActiveWindow',nil,'l').call
- def self.fullscreen?
- #取得窗口范围矩形
- window_rect = "\0" * 16
- Win32API.new('user32','GetWindowRect',['l','p'],'i').call(HWND,window_rect)
- wl,wt,wr,wb = window_rect.unpack('llll')
- #取得客户区矩形
- client_rect = "\0" * 16
- Win32API.new('user32','GetClientRect',['l','p'],'i').call(HWND,client_rect)
- cl,ct,cr,cb = client_rect.unpack('llll')
- wr - wl == cr
- end
- end
复制代码 使用方法:- Graphics.fullscreen? #当游戏处于全屏状态时返回true, 否则返回false
复制代码 原理:
使用GetWindowRect 和GetClientRect 分别取得游戏窗口的整个范围矩形和客户区矩形。游戏全屏后,由于不再存在边框,这两个矩形就是相等的。而在窗口模式下,客户区矩形会小一些。 |
评分
-
查看全部评分
|