想做一个后台记录键盘输入的程序,然后在网上下了一段可以记录键盘输入的代码是VB6的,我想把它转到VB.NET来,里面有句用addressof来得到函数地址的这句在VB.NET里没用,请问在VB.NET里如何获取函数地址
------解决方案--------------------
这个调用windows的api就可以了。
方法自己到百度上搜。
然后注册一下热键就可以了,
拿别人的还麻烦。
------解决方案--------------------
AddressOf还是有用的。
应该是你的API声明有问题。
------解决方案--------------------
写一个委托,更改原API参数为你的委托类型,明白了吧
------解决方案--------------------
写个例子给你
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
(ByVal idHook As Int32, _
ByVal lpfn As d_HookFunc, _
ByVal hmod As Int32, _
ByVal dwThreadId As Int32) As Int32 ’更改第二个参数的类型为委托
Delegate Function d_HookFunc(ByVal nCode As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
Dim hookfunc As New d_HookFunc(AddressOf s_HookFunc)
Public Function s_HookFunc(ByVal nCode As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
‘
End Function
call SetWindowsHookEx(13, hookfunc, 0, 0) ‘这样调用即可