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

Project1

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

[已经过期] 如何令VX在後台停止運行及按鍵響應?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
448 小时
注册时间
2011-10-9
帖子
184
跳转到指定楼层
1
 楼主| 发表于 2013-2-6 00:08:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
事情是這樣的
一般來說當視窗焦點不在RM上時,會呈現停止狀態
但當我又切換回RM、再跳到其他視窗上頭時
RM就會開始在後頭響應按鍵的操作,並不會因此停止
一面做PS美工時簡直困擾不堪

也有人有相同的情況嗎,該如何改善呢?

点评

记得鼠标脚本有个get_hwnd判断窗口句柄,alias input让窗口句柄没在前的时候return吧。  发表于 2013-2-6 05:24
那是正常状况= =  发表于 2013-2-6 04:36
我也会那种情况= =这个不知道怎么弄了...  发表于 2013-2-6 02:07
是不是把RM最小化了,去玩别的游戏什么的,RM还在继续运行?  发表于 2013-2-6 01:41

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
2
发表于 2013-2-6 01:07:06 | 只看该作者
载图把问题说清楚好吗0 0?
没遇到过+没理解清楚...

点评

原來不是只有我這樣....(汗)  发表于 2013-2-6 02:34
就是這個意思,而且我在別的軟體上執行操作,VX也會胡亂地在後台響應按鍵的動作  发表于 2013-2-6 01:47
這該怎麼截圖?簡單說就是我操作瀏覽器、美工軟體或其他系統工作時,後台的VX依然是持續運行的狀態,而且會對按鍵做出反應  发表于 2013-2-6 01:40
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2012-7-30
帖子
147
3
发表于 2013-2-6 08:53:41 | 只看该作者
试一下这个,我好像就没有这个问题,好像有过又不出现了……
  1. #==============================================================================
  2. # [XP/VX] 精确获取窗口句柄 by 紫苏
  3. #==============================================================================
  4. # ■ Kernel
  5. #==============================================================================
  6. module Kernel
  7.   #--------------------------------------------------------------------------
  8.   # ● 需要的 Windows API 函数
  9.   #--------------------------------------------------------------------------
  10.   GetWindowThreadProcessId = Win32API.new("user32", "GetWindowThreadProcessId", "LP", "L")
  11.   GetWindow = Win32API.new("user32", "GetWindow", "LL", "L")
  12.   GetClassName = Win32API.new("user32", "GetClassName", "LPL", "L")
  13.   GetCurrentThreadId = Win32API.new("kernel32", "GetCurrentThreadId", "V", "L")
  14.   GetForegroundWindow = Win32API.new("user32", "GetForegroundWindow", "V", "L")
  15.   #--------------------------------------------------------------------------
  16.   # ● 获取窗口句柄
  17.   #--------------------------------------------------------------------------
  18.   def get_hwnd
  19.     # 获取调用线程(RM 的主线程)的进程标识
  20.     threadID = GetCurrentThreadId.call
  21.     # 获取 Z 次序中最靠前的窗口
  22.     hWnd = GetWindow.call(GetForegroundWindow.call, 0)
  23.     # 枚举所有窗口
  24.     while hWnd != 0
  25.       # 如果创建该窗口的线程标识匹配本线程标识
  26.       if threadID == GetWindowThreadProcessId.call(hWnd, 0)
  27.         # 分配一个 11 个字节的缓冲区
  28.         className = " " * 11
  29.         # 获取该窗口的类名
  30.         GetClassName.call(hWnd, className, 12)
  31.         # 如果匹配 RGSS Player 则跳出循环
  32.         break if className == "RGSS Player"
  33.       end
  34.       # 获取下一个窗口
  35.       hWnd = GetWindow.call(hWnd, 2)
  36.     end
  37.     return hWnd
  38.   end
  39. end

  40. module Kernel
  41.   GetActiveWindow = Win32API.new("user32", "GetActiveWindow", "V", "L")
  42.   def shit?
  43.     #return if Graphics.frame_count % 10 != 0
  44.     # 获取调用线程(RM 的主线程)的进程标识
  45.     threadID = GetCurrentThreadId.call
  46.     # 获取 Z 次序中最靠前的窗口
  47.     hWnd = GetActiveWindow.call#GetForegroundWindow.call
  48.     return true if threadID == GetWindowThreadProcessId.call(hWnd, 0)
  49.     return false
  50.     # 枚举所有窗口
  51.     #while hWnd != 0
  52.       # 如果创建该窗口的线程标识匹配本线程标识
  53.       #if threadID == GetWindowThreadProcessId.call(hWnd, 0)
  54.         # 分配一个 11 个字节的缓冲区
  55.         className = " " * 11
  56.         # 获取该窗口的类名
  57.         GetClassName.call(hWnd, className, 12)
  58.         # 如果匹配 RGSS Player 则跳出循环
  59.         $windowInfo.newText += (className + "")
  60.         #break if className == "RGSS Player"
  61.       #end
  62.       # 获取下一个窗口
  63.       #hWnd = GetWindow.call(hWnd, 2)
  64.     #end
  65.     #return hWnd
  66.   end
  67. end


  68. class << Input
  69.   alias shitmyoh trigger? unless $@
  70.   def Input.trigger?(input)
  71.     return false if !shit?#GetWindow.call(GetForegroundWindow.call, 0) != 0 &&
  72.     shitmyoh(input)
  73.   end
  74.   
  75. end
复制代码

点评

回報,沒有效果呢(哭)  发表于 2013-2-7 15:29
好的,我測試看看  发表于 2013-2-6 12:52

评分

参与人数 1星屑 +75 收起 理由
怪蜀黍 + 75 热心回答糖

查看全部评分

想回复我的话请呼(@)我一下。
准备执行人体盗图计划,copyright的诸君赶紧藏好咧~
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (超级版主)

嗜谎者

梦石
2
星屑
17192
在线时间
3909 小时
注册时间
2010-9-12
帖子
9654

极短24评委极短23评委极短22评委极短21评委开拓者

4
发表于 2013-2-7 19:34:03 | 只看该作者
我也遇到过。。。应该说VX和VA都有这个问题。。。RM系统自带的问题
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-28 00:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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