设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2714|回复: 1
打印 上一主题 下一主题

[已经过期] 调用窗口问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
322 小时
注册时间
2011-6-24
帖子
274
跳转到指定楼层
1
 楼主| 发表于 2013-1-29 11:16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
这脚本在那里改他的窗口 大小 怎么让调用的窗口贴紧游戏窗口的右侧
  1. class String
  2.   
  3.   CP_ACP = 0
  4.   CP_UTF8 = 65001
  5.   
  6.   def u2s
  7.     m2w = Win32API.new("kernel32", "MultiByteToWideChar", "ilpipi", "i")
  8.     w2m = Win32API.new("kernel32", "WideCharToMultiByte", "ilpipipp", "i")
  9.    
  10.     len = m2w.call(CP_UTF8, 0, self, -1, nil, 0)
  11.     buf = "\0" * (len*2)
  12.     m2w.call(CP_UTF8, 0, self, -1, buf, buf.size/2)
  13.    
  14.     len = w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil)
  15.     ret = "\0" * len
  16.     w2m.call(CP_ACP, 0, buf, -1, ret, ret.size, nil, nil)
  17.    
  18.     return ret
  19.   end
  20.   
  21.   def s2u
  22.     m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
  23.     w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
  24.   
  25.     len = m2w.call(CP_ACP, 0, self, -1, nil, 0);
  26.     buf = "\0" * (len*2)
  27.     m2w.call(CP_ACP, 0, self, -1, buf, buf.size/2);
  28.   
  29.     len = w2m.call(CP_UTF8, 0, buf, -1, nil, 0, nil, nil);
  30.     ret = "\0" * len
  31.     w2m.call(CP_UTF8, 0, buf, -1, ret, ret.size, nil, nil);
  32.      
  33.     return ret
  34.   end

  35.   
  36.   
  37.   def s2u!
  38.     self[0,length] = s2u
  39.   end  
  40.   
  41.   def u2s!
  42.     self[0, length] = u2s
  43.   end
  44.   
  45. end

  46. module Debug
  47.   
  48.   REPLACE       = true
  49.   
  50.   AllocConsole  = Win32API.new("kernel32", "AllocConsole", "v", "i")
  51.   GetStdHandle  = Win32API.new("kernel32", "GetStdHandle", "l", "l")
  52.   ReadConsole   = Win32API.new("kernel32", "ReadConsole","lplpp", "i")
  53.   WriteConsole  = Win32API.new("kernel32", "WriteConsole", "lplpp", "i")
  54.   FreeConsole   = Win32API.new("kernel32", "FreeConsole", "v", "i")

  55.   module_function
  56.   
  57.   def init
  58.     AllocConsole.call
  59.     @h = GetStdHandle.call -11
  60.   end

  61.   def free
  62.     FreeConsole.call
  63.     @h = nil
  64.   end

  65.   def validcheck
  66.     raise "必须先调用Debug.init进行初始化!" if @h.nil?
  67.   end
  68.   
  69.   def print(*args)
  70.     validcheck; str = ""
  71.     args.each{|obj| str += obj.is_a?(String) ? obj : obj.inspect}; str.u2s!
  72.     WriteConsole.call @h, str, str.length, nil, nil
  73.   end
  74.   
  75.   def println
  76.     validcheck; WriteConsole.call @h, "\n", 1, nil, nil
  77.   end
  78.   
  79.   def p(*args)
  80.     validcheck
  81.     str = ""; args.each{|obj| str += obj.inspect + "\n"}; str.u2s!
  82.     WriteConsole.call @h, str, str.length, nil, nil
  83.   end
  84.   
  85.   def gets
  86.     validcheck
  87.     str = "/0"*256
  88.     len = [0].pack("L")
  89.     begin
  90.       ReadConsole.call GetStdHandle.call(-10),str,str.length,len,nil
  91.       nil
  92.     rescue Hangup
  93.       # 10s 的容错
  94.       p $!, str.delete("\0"), len.unpack("L")[0]
  95.     end
  96.     Debug.println

  97.     return str.s2u!.delete("\r\n").delete("/0").delete("\000")
  98.   end  
  99.   
  100.   class << self
  101.    
  102.     private :validcheck
  103.    
  104.     alias puts  print

  105.   end
  106.   
  107.   if REPLACE
  108.     alias origin_print print
  109.     alias origin_p p
  110.     self.init if @h.nil?
  111.   end
  112.   
  113. end
  114. module Kernel
  115.   
  116.     def print(*args)
  117.       Debug.print *args
  118.     end
  119.    
  120.     def p(*args)
  121.       Debug.p *args
  122.     end
  123.    
  124.     def gets
  125.       Debug.gets
  126.     end  
  127.    
  128.     alias ori_exit exit
  129.     def exit(*args)
  130.       Debug.free
  131.       ori_exit(*args)
  132.     end  
  133. end
复制代码

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-8-29
帖子
48
2
发表于 2013-1-29 13:56:04 | 只看该作者
说清楚点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-5 10:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表