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

Project1

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

[已经解决] 为什么用了800x608直接打开脚本还是不管用呢

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
665
在线时间
20 小时
注册时间
2011-4-23
帖子
4
跳转到指定楼层
1
发表于 2011-5-2 20:43:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是置顶黄金乡帖子-->窗口-->1024x768整合系统的发布人发布的一个系统,和1024x768系统同在发布人的网盘里的。
直接运行发布人的系统是可以直接打开800x608分辨率,但是我复制到自己的工程里面,运行的时候还是一开始是一个小窗口然后变大成800x608的。请问前辈们这有可能是什么原因?

我的工程附在下面。
vxProject1.rar (313.29 KB, 下载次数: 43)


duanjingyu于2011-5-2 20:53补充以下内容:
呃不好意思忘记说明了我的脚本里面windowskin的名称改动了一下变成djywindow了,请改回window,谢谢大家的理解和帮助

Lv1.梦旅人

梦石
0
星屑
183
在线时间
159 小时
注册时间
2011-1-4
帖子
22
2
发表于 2011-5-3 04:28:27 | 只看该作者
#==============================================================================
#  ■ 800*608直接打开    ——  summer92 提供
#==============================================================================
# ■ Kernel
#------------------------------------------------------------------------------
#  该模块中定义了可供所有类使用的方法。Object 类中包含了该模块。
#==============================================================================
module Kernel
  #--------------------------------------------------------------------------
  # ● 需要的 Windows API 函数
  #--------------------------------------------------------------------------
  GetWindowThreadProcessId = Win32API.new("user32", "GetWindowThreadProcessId", "LP", "L")
  GetWindow = Win32API.new("user32", "GetWindow", "LL", "L")
  GetClassName = Win32API.new("user32", "GetClassName", "LPL", "L")
  GetCurrentThreadId = Win32API.new("kernel32", "GetCurrentThreadId", "V", "L")
  GetForegroundWindow = Win32API.new("user32", "GetForegroundWindow", "V", "L")
  #--------------------------------------------------------------------------
  # ● 获取<strong><font color="#FF0000">窗口句柄</font></strong>
  #--------------------------------------------------------------------------
  Graphics.resize_screen(800,608)  
  
  
  def get_hWnd
    # 获取调用线程(RM 的主线程)的进程标识
    threadID = GetCurrentThreadId.call
    # 获取 Z 次序中最靠前的窗口
    hWnd = GetWindow.call(GetForegroundWindow.call, 0)
    # 枚举所有窗口
    while hWnd != 0
      # 如果创建该窗口的线程标识匹配本线程标识
      if threadID == GetWindowThreadProcessId.call(hWnd, 0)
        # 分配一个 11 个字节的缓冲区
        className = " " * 11
        # 获取该窗口的类名
        GetClassName.call(hWnd, className, 12)
        # 如果匹配 RGSS Player 则跳出循环
        break if className == "RGSS Player"
      end
      # 获取下一个窗口
      hWnd = GetWindow.call(hWnd, 2)
    end
    return hWnd
  end
end

      
  Win32API.new("User32.dll", "ShowWindow", "li", "i").call(Kernel.get_hWnd, 5)



pl03424626于2011-5-3 04:33补充以下内容:
#==============================================================================
#  ■ 1024x768直接打开    ——  summer92 提供
#==============================================================================
# ■ Kernel
#------------------------------------------------------------------------------
#  该模块中定义了可供所有类使用的方法。Object 类中包含了该模块。
#==============================================================================
module Kernel
  #--------------------------------------------------------------------------
  # ● 需要的 Windows API 函数
  #--------------------------------------------------------------------------
  GetWindowThreadProcessId = Win32API.new("user32", "GetWindowThreadProcessId", "LP", "L")
  GetWindow = Win32API.new("user32", "GetWindow", "LL", "L")
  GetClassName = Win32API.new("user32", "GetClassName", "LPL", "L")
  GetCurrentThreadId = Win32API.new("kernel32", "GetCurrentThreadId", "V", "L")
  GetForegroundWindow = Win32API.new("user32", "GetForegroundWindow", "V", "L")
  #--------------------------------------------------------------------------
  # ● 获取<strong><font color="#FF0000">窗口句柄</font></strong>
  #--------------------------------------------------------------------------
  Graphics.resize_screen(800,608)  
  
  
  def get_hWnd
    # 获取调用线程(RM 的主线程)的进程标识
    threadID = GetCurrentThreadId.call
    # 获取 Z 次序中最靠前的窗口
    hWnd = GetWindow.call(GetForegroundWindow.call, 0)
    # 枚举所有窗口
    while hWnd != 0
      # 如果创建该窗口的线程标识匹配本线程标识
      if threadID == GetWindowThreadProcessId.call(hWnd, 0)
        # 分配一个 11 个字节的缓冲区
        className = " " * 11
        # 获取该窗口的类名
        GetClassName.call(hWnd, className, 12)
        # 如果匹配 RGSS Player 则跳出循环
        break if className == "RGSS Player"
      end
      # 获取下一个窗口
      hWnd = GetWindow.call(hWnd, 2)
    end
    return hWnd
  end
end

      
  Win32API.new("User32.dll", "ShowWindow", "li", "i").call(Kernel.get_hWnd, 5)

点评

- -我只是收集,原创是紫苏大人- -  发表于 2011-5-3 12:19
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
176 小时
注册时间
2011-1-26
帖子
131
3
发表于 2011-5-3 09:52:49 | 只看该作者
本帖最后由 daipeng76 于 2011-5-3 13:43 编辑

game.exe是修改过的
复制 game.exe 和 RGSS202E.dll 到你的游戏工程,覆盖原来的
然后复制'直接打开800x608分辨率'的脚本到你的游戏工程,就ok
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
665
在线时间
20 小时
注册时间
2011-4-23
帖子
4
4
 楼主| 发表于 2011-5-3 20:22:31 | 只看该作者
回复 daipeng76 的帖子

噢是那样啊!谢谢!
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 17:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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