Project1

标题: 为什么用了800x608直接打开脚本还是不管用呢 [打印本页]

作者: duanjingyu    时间: 2011-5-2 20:43
标题: 为什么用了800x608直接打开脚本还是不管用呢
就是置顶黄金乡帖子-->窗口-->1024x768整合系统的发布人发布的一个系统,和1024x768系统同在发布人的网盘里的。
直接运行发布人的系统是可以直接打开800x608分辨率,但是我复制到自己的工程里面,运行的时候还是一开始是一个小窗口然后变大成800x608的。请问前辈们这有可能是什么原因?

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


duanjingyu于2011-5-2 20:53补充以下内容:
呃不好意思忘记说明了我的脚本里面windowskin的名称改动了一下变成djywindow了,请改回window,谢谢大家的理解和帮助dsu_plus_rewardpost_czw
作者: pl03424626    时间: 2011-5-3 04:28
#==============================================================================
#  ■ 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)

作者: daipeng76    时间: 2011-5-3 09:52
本帖最后由 daipeng76 于 2011-5-3 13:43 编辑

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

作者: duanjingyu    时间: 2011-5-3 20:22
回复 daipeng76 的帖子

噢是那样啊!谢谢!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1