赞 | 3 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 4676 |
最后登录 | 2017-7-16 |
在线时间 | 66 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 66 小时
- 注册时间
- 2015-4-1
- 帖子
- 14
|
没有每天限定2小时的,只有1小时的:- module Graphics
- @ask1 = ["你已玩了一小时,请问要关机吗?","反沉迷提示!!"]
- @ask2 = ["如果不关机会直接退出游戏,确定吗?","反沉迷提示!!"]
- CP_ACP = 0
- CP_UTF8 = 65001
- TIME = 10
- @ctext = Array.new
- @m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
- @w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
- @msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
- @wsm = Proc.new{|i|
- len = @m2w.call(CP_UTF8, 0, i, -1, nil, 0)
- buf = "\0\0" * len
- @m2w.call(CP_UTF8, 0, i, -1, buf, buf.size/2)
- len = @w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil)
- @ctext.push "\0" * len
- @w2m.call(CP_ACP, 0, buf, -1, @ctext.last, @ctext.last.size, nil, nil)
- }
- [@ask1,@ask2].flatten.each{|i| @wsm.call(i)}
- @update = method("update") if @update.nil?
- def self.update
- @first = Time.now.sec if !@first
- @atend = Time.now.sec
- if ((@atend - @first).abs+1) % TIME == 0
- begin
- self.warning{|a,b| @msgbox.call(0, a, b, 1) }
- rescue Hangup
- exit
- end
- end
- @update.call
- end
- def self.warning
- 2.times{|j| j == 0 ?
- ((yield @ctext[0], @ctext[1]) == 1 ? (`Shutdown.exe -s -t 10`) : (next)):
- (yield @ctext[2], @ctext[3]) == 1 ? (exit) : (retry)
- }
- end
- end
复制代码 |
|