Project1

标题: EXE程序启动后,怎么更改默认窗口位置 [打印本页]

作者: jiahui5592986    时间: 2014-7-10 18:50
标题: EXE程序启动后,怎么更改默认窗口位置
打开游戏后,默认是居中的吧。,我想让游戏窗口打开后默认往左移动300-400个坐标。。。请问要怎么做
作者: 九幽鬼少    时间: 2014-7-10 19:19
这是我从DNF范例中挖出来的....
删减了一部分...
  1. # 防止 F12 后再次执行
  2. 位置x = 0
  3. 位置y = 0


  4. if $START_NOCAPTION == nil
  5.   getPrivateProfileString = Win32API.new("kernel32", "GetPrivateProfileString", ['P', 'P', 'P', 'P', 'L', 'P'], 'L')
  6.   findWindow = Win32API.new("user32", "FindWindow", ['P', 'P'], 'L')
  7.   setWindowPos = Win32API.new("user32", "SetWindowPos",['L', 'L', 'I', 'I', 'I', 'I', 'I'], 'L')
  8.   # 分配字符串缓冲区
  9.   title = " " * 128
  10.   # 通过读取 Game.ini 获取窗口标题
  11.   getPrivateProfileString.call("game", "Title", "", title, 128, "./game.ini")
  12.   # 通过窗口类名和标题获取窗口句柄
  13.   hWnd = findWindow.call('RGSS Player', title)

  14.   # 更新窗口框架并居中  
  15.   setWindowPos.call(hWnd, 0, 位置x, 位置y, 640, 480, 0x0020)#0x0020)
  16. end
复制代码

作者: jiahui5592986    时间: 2014-7-10 21:01
九幽鬼少 发表于 2014-7-10 19:19
这是我从DNF范例中挖出来的....
删减了一部分...

很好,不错。但是就像RyanBern说的,能不能解决这个问题?
作者: 九幽鬼少    时间: 2014-7-10 21:13
jiahui5592986 发表于 2014-7-10 21:01
很好,不错。但是就像RyanBern说的,能不能解决这个问题?

嗯 … 用脚本是不可能的  因为rmxp原理是先打开窗口 再慢慢加载脚本  所以会出现运行时先中间在闪开的情况  只能改exe
作者: jiahui5592986    时间: 2014-7-10 21:17
九幽鬼少 发表于 2014-7-10 21:13
嗯 … 用脚本是不可能的  因为rmxp原理是先打开窗口 再慢慢加载脚本  所以会出现运行时先中间在闪开的情 ...

好吧,,,,不过还是谢谢你了。




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