那位高人给个钩子程序源码,要求能执行

混世罗汉 2007-03-09 01:24:51
想做一个这样的程序,运行后,可以记录用户在电脑上输入的任何信息,也就是键盘输入的信息,比如你在记事中输入了一段文字,那么这个钩子程序会记录下来存入数据表或直接显示出来,都行,找了三天了,唉!
...全文
521 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
海贼王大妈 2007-08-25
  • 打赏
  • 举报
回复
mark
tzwsoho 2007-08-23
  • 打赏
  • 举报
回复
楼上的朋友能帖出代码吗?一起学习…………
drion 2007-08-22
  • 打赏
  • 举报
回复
全局很简单,我就实现了!
清晨曦月 2007-08-21
  • 打赏
  • 举报
回复
这个问题。。。。我倒是解决了。不过写的代码是VB.NET的,可以转成VB6,因为根本就没使用.NET的新特性。。。本来是想实现键盘和鼠标都能获取了,但是分析还没完成,嘿嘿,鼠标部分有点问题,但是键盘倒是能用,用是可以的,但是键码转换要楼主自己写了,我只实现了这个技术的核心代码。。。。。转化还没弄呢。
代码在
http://vb-bbs.vicp.net

tzwsoho 2007-08-21
  • 打赏
  • 举报
回复
不过全局hook的我不会写…………
tzwsoho 2007-08-21
  • 打赏
  • 举报
回复
cangwu_lee(橙子) ( ) 信誉:98 2007-3-9 14:06:03 得分: 0

别开玩笑了,只能记住用户按过哪些键,而用户的输入了什么中文,得不到。


这个可以的,画个text1,然后………………
'窗体代码
Option Explicit

Private Const GWL_WNDPROC As Long = -4

Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub Form_Load()
preWndProc = SetWindowLong(Text1.hWnd, GWL_WNDPROC, AddressOf WndProc)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call SetWindowLong(hWnd, GWL_WNDPROC, preWndProc)
End Sub

'模块代码
Option Explicit

Private Const WM_IME_CHAR As Long = &H286
Private Const WM_IME_COMPOSITION As Long = &H10F

Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public preWndProc As Long

Function WndProc(ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case msg
Case WM_IME_COMPOSITION
If lParam = 8127 Then
Debug.Print "输入中文了",
End If
Case WM_IME_CHAR
Debug.Print Chr$(wParam),
End Select
WndProc = CallWindowProc(preWndProc, hWnd, msg, wParam, lParam)
End Function

'你在text1里面随便输入些汉字,在立即窗口可以看见
嗷嗷叫的老马 2007-08-08
  • 打赏
  • 举报
回复
楼上的...没仔细看楼主的问题吧...?????
HackerJLY 2007-08-05
  • 打赏
  • 举报
回复
How to set a windows hook in Visual Basic 6(VB6)- 鼠标全局钩子(LowLevelMouseProcedure)- prjBrowser Source Code - 类似QQ窗体停靠效果 - Written by HackerJLY

http://hackerjly.spaces.live.com/blog/cns!CE41E30095119731!1871.entry

我自己写的,用WH_MOUSE_LL,因为:只有:WH_MOUSE_LL 和 WH_KEYBOARD_LL 才不用把HookProce(SetWindowsHookEx 函数的第二个lpfn参数所指向的过程)写入到:标准DLL里面,就可以实现全局钩子,其他的必须把HookProc写入到:标准DLL里面,也就是说:先用VC写一个标准DLL(里面要含有HookProc),然后再用其他语言(VB等)调用!

此段内容的MSDN地址:http://support.microsoft.com/default.aspx?scid=kb;en-us;318804
wubirong 2007-03-31
  • 打赏
  • 举报
回复
在VB6中很难弄
嗷嗷叫的老马 2007-03-26
  • 打赏
  • 举报
回复
kylinpoet 2007-03-14
  • 打赏
  • 举报
回复
http://blog.donews.com/zwell/articles/48170.aspx
cangwu_lee 2007-03-09
  • 打赏
  • 举报
回复
别开玩笑了,只能记住用户按过哪些键,而用户的输入了什么中文,得不到。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧