📄 2209.html
字号:
<html>
<head>
<title>旧事重提:keyboard Hook</title>
</head>
<BODY BACKGROUND="" BGCOLOR="white" TEXT="black" LINK="red" VLINK="#808080" ALINK="">
<center>
<h1>旧事重提:keyboard Hook</h1>
</center>
<HR><p>
Posted by <a href="mailto:cww5@mail.ncku.edu.tw">cww</a> on March 09, 1998 at 19:07:54:<p>
吴站长您好:<br>一两个月前曾提出keyboard hook的问题,当时于<br>Declare Function SetWindowsHookEx Lib "user32" Alias _<br>"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, _<br>ByVal hmod As Long, ByVal dwThreadId As Long) As Long<br>中第三个参数中打转,如果它是system hook的话,第三个参数应是<br>.dll的hInstance。而当时您似乎是说于.dll程式中不要使用<br>App.hInstance传入,即<p>preHook = SetWindowsHookEx(WH_KEYBOARD, address of myHookFunc, _<br> app.hInstance, 0)<p>会有问题,不过,一般.dll中会有<br> dllMain(HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)<br>的主程式,第一个参数便是.dll的 hInstance,而我猜在vb的.dll Server<br>中,app.hInstance指的应是.dll的hInstance,我也试过列出一般程式中,<br>使用.dll server,而后印出二者的app.hInstance结果发现,一般ap的app.hinstance与.dll中的app.hinstance值不相同,所以加强了我这个看法。<br>而vb中只有使用ActiveX.Dll Server才能造出.dll,所以我使用<br> SetWindowsHookEx(WH_KEYBOARD, address of myHookFunc, _<br> app.hInstance, 0)<br>的呼叫似乎没有错,而它在local hook不会当,而于system hook时会当的原<br>因,初步排除应不是App.hInstance的问题,可能是ActiveX.dll Server与<br>一般.dll特性的不同,只是我不太知道它们之间最大的不同在何处,您觉得<br>可能往哪个方向去TESTING比较可能找出答案?谢谢
<br>
<p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 2209-->
</ul><!--end: 2209-->
<br><HR><p>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -