Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 2788|回复: 15
打印 上一主题 下一主题

请问要怎样测试用户有没有在打字?

[复制链接]

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

跳转到指定楼层
1#
发表于 2010-11-22 09:54 AM |只看该作者 |正序浏览
请问什么API可以知道用户有没有在打字?(有没有 I )
打字不是有那个I这样的东西,怎样测试他有没有存在?
我不懂要怎样google!
应该说有没有focus textbox这样的东西

那个textbox不是在这个app里面,在另外一边
我想知道用户有没有在textbox打字,而且是游戏的textbox




收藏收藏0

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

16#
发表于 2011-1-27 09:48 PM |只看该作者
网页的功能太少了
而且我没有设计才华,GUI例外(我也不懂人家用我的GUI顺不顺手)
MSDN API介绍我看的懂,但是参C++下去就乱了
12楼说的是像cheat engine scan有打字=1 没有打字=0找出address类似这样?


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

15#
发表于 2010-11-25 08:42 PM |只看该作者
我说会return的事GetGUIThreadInfo
太复杂了,那么多个struct
还有什么RECt的

上网开看到很多什么send ...
goodhermit95 发表于 2010-11-25 04:54 PM



你想往 windows 市场發展的話, 掌握 msdn 所提供的資訊是最基础的,要不然就往網頁編程發展吧


回复

使用道具 举报

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

14#
发表于 2010-11-25 04:54 PM |只看该作者
本帖最后由 goodhermit95 于 2010-11-25 04:56 PM 编辑

我说会return的事GetGUIThreadInfo
太复杂了,那么多个struct
还有什么RECt的

上网开看到很多什么send copy to window的


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

13#
发表于 2010-11-25 04:03 PM |只看该作者
突然想到,如果使用softice或ollydbg抓断点,找出相关memory位置,然后写个程序readprocessmemory应该也是可 ...
weeming21 发表于 2010-11-25 03:45 PM



哈,但是這样不能抓到是否 onFocus 當中,而且是針對各别軟體還很多工


回复

使用道具 举报

6

主题

0

好友

397

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

12#
发表于 2010-11-25 03:45 PM |只看该作者
突然想到,如果使用softice或ollydbg抓断点,找出相关memory位置,然后写个程序readprocessmemory应该也是可以达到该效果


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

11#
发表于 2010-11-25 01:54 PM |只看该作者
我找了很多东西还是看不懂!
MSDN写得很简略
我上网找了这个GUITHREADINFO 是 GUI 的类型吗?
这个API他return boolean,true的话就是那个类型,false的话就不是?
goodhermit95 发表于 2010-11-25 12:10 PM



你太過依赖網絡資源了,而且應用 vb 了那麽久也還没了解 pass by value 和 pass by reference 的差别所以你就覺得 MSDN 没你要的
GUITHREADINFO 是個 struct,简单來解释可以當是個  object 。那试问 object 怎么會 return 你对错?? 會回傳你对错的是 GetGUIThreadInfo 而你也要注意去看看所回傳的值意义


回复

使用道具 举报

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

10#
发表于 2010-11-25 12:10 PM |只看该作者
我找了很多东西还是看不懂!
MSDN写得很简略
我上网找了这个


  1. Public Class Form1

  2. Private Declare Function GetForegroundWindow Lib "user32" () As Integer
  3. Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal
  4. hWnd As Integer, ByRef lpdwProcessId As Integer) As Integer
  5. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA"
  6. (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer,
  7. ByVal lParam As Integer) As Integer
  8. Private Declare Function GetGUIThreadInfo Lib "user32.dll" (ByVal
  9. idThread As Integer, ByRef pgui As GUITHREADINFO) As Integer
  10. Private Const WM_COPY As Integer = &H301
  11. Private Structure RECT
  12. Dim Left_Renamed As Integer
  13. Dim Top As Integer
  14. Dim Right_Renamed As Integer
  15. Dim Bottom As Integer
  16. End Structure
  17. Private Structure GUITHREADINFO
  18. Dim cbSize As Integer
  19. Dim flags As Integer
  20. Dim hwndActive As Integer
  21. Dim hwndFocus As Integer
  22. Dim hwndCapture As Integer
  23. Dim hwndMenuOwner As Integer
  24. Dim hwndMoveSize As Integer
  25. Dim hwndCaret As Integer
  26. Dim rcCaret As RECT
  27. End Structure

  28. Private Function GetFocusWindow() As Integer
  29. Dim h As Integer
  30. Dim ThreadID As Integer
  31. Dim gui As GUITHREADINFO
  32. Dim ret As Integer

  33. h = GetForegroundWindow()
  34. Console.WriteLine("GetFocusWindow: ForegroundWindow = " & Hex(h))
  35. ThreadID = GetWindowThreadProcessId(h, 0)
  36. gui.cbSize = Len(gui)
  37. ret = GetGUIThreadInfo(ThreadID, gui)
  38. If ret = 0 Then
  39. Console.WriteLine("GetFocusWindow: GetGUIThreadInfo failed.
  40. LastDllError = " & Err.LastDllError)
  41. Exit Function
  42. End If
  43. Console.WriteLine("GetFocusWindow: hwndFocus = " &
  44. Hex(gui.hwndFocus))
  45. GetFocusWindow = gui.hwndFocus
  46. End Function

  47. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
  48. System.EventArgs) Handles Timer1.Tick
  49. Me.Text = Hex(GetFocusWindow())
  50. SendCopyToWindow(GetFocusWindow())
  51. TextBox1.Text = Clipboard.GetText
  52. End Sub

  53. Private Sub SendCopyToWindow(ByVal hWnd As Integer)
  54. SendMessage(hWnd, WM_COPY, 0, 0)
  55. End Sub

  56. End Class

复制代码
GUITHREADINFO 是 GUI 的类型吗?
这个API他return boolean,true的话就是那个类型,false的话就不是?


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

9#
发表于 2010-11-24 12:31 PM |只看该作者
谢谢回答,我去试试看
不是a变b,而是输入a会直接输入b
没有打字的时候要有这样的效果,但是打字的时候就不 ...
goodhermit95 发表于 2010-11-24 12:12 PM



在本身的程式中就直接监听欄位是否被 focus 就好啦


回复

使用道具 举报

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

8#
发表于 2010-11-24 12:12 PM |只看该作者
谢谢回答,我去试试看
不是a变b,而是输入a会直接输入b
没有打字的时候要有这样的效果,但是打字的时候就不可以了,因为你输入aaaaa就会变ababababab


回复

使用道具 举报

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

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-11-7 05:19 AM , Processed in 0.126214 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部