2012-03-01 82 views
0

所以我有一個新的項目想法.. 我的女朋友玩這個MMORPG,她經常離開她的角色做一些事情(如釣魚)在後臺,但如果她沒有點擊窗口5分鐘後自動記錄她。 所以我的想法是做出某種「警報」,如果遊戲窗口處於非活動狀態大約4分鐘,它會彈出一個消息框,告訴她點擊它。窗口不活動警報

你們任何人都可以給我一個開始的地方嗎?

+0

在* another *窗口中檢測活動實際上是一項相當複雜的任務 - 可能不是完整新手的最佳選擇。 – 2012-03-01 18:23:12

+0

同意以上。你必須編寫一個程序,以某種方式隔離MMORPG的彈出窗口,希望可以輕鬆地通過搜索其標題並獲取窗口句柄,然後找到關閉按鈕並向其發送鼠標單擊消息。不是一件容易做到的事情。也許有免費的圖形用戶界面測試工具,你可以得到這將爲你做這個。雖然我猜測這是違反遊戲的EULA。 – 2012-03-01 18:26:09

回答

0

可能是一些類似於:

//when the window loses focus, start a timer. 
//when timer reaches 4 min... 
//get all windows, 
//sort them, 
//find the one you need 
//give it focus for 0.1s then go back to whatever you were doing 

我不知道究竟如何才能做到這一點,但我把它分成更小的對象,所以你可以看看放進去,更確切地說:

  • 檢測窗口狀態(可能通過注入DLL?我不知道)
  • 定時器(在.NET很容易)
  • 給窗口集中的計劃。
1

我會認爲這個彈出窗口是一個WinAPI窗口。我想大多數現代遊戲都使用他們自己的圖形用戶界面,這會讓以下的圖形變得無用。

我會從Spy ++(從Visual Studio)開始,當這個彈出窗口出現時,使用Spy ++來查找它的窗口。記下它的名字和班級名稱。有了這兩個,你可以使用FindWindow來檢查它是否彈出。您只需創建一個循環並定期檢查FindWindow(szPopupWndName,szPopupClassName)是否返回非空值。如果它不是空的,則通知MMORG中的窗口按鈕必須被點擊。