亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tut24.html

?? WINDOWS程序員使用指南--匯編基礎
?? HTML
?? 第 1 頁 / 共 4 頁
字號:

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">wParam</font>
and lParam contain additional information about the event</font></font></li>
</ul>
</ul>
<font face="Arial,Helvetica"><font size=-1>HookProc is actually a placeholder
for the function name. You can name it anything you like so long as it
has the above prototype. The interpretation of nCode, wParam and lParam
is dependent on the type of hook you install. So as the return value from
the hook procedure. For example:</font></font>
<blockquote><b><font face="Arial,Helvetica"><font color="#999900"><font size=-1>WH_CALLWNDPROC</font></font></font></b>
<ul>
<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">nCode</font>
can be only HC_ACTION which means there is a message sent to a window</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">wParam</font>
contains the message being sent, if it's not zero</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">lParam</font>
points to a CWPSTRUCT structure</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">return
value</font>: not used, return zero</font></font></li>
</ul>
<b><font face="Arial,Helvetica"><font color="#999900"><font size=-1>WH_MOUSE</font></font></font></b>
<ul>
<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">nCode</font>
can be HC_ACTION or HC_NOREMOVE</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">wParam</font>
contains the mouse message</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">lParam
</font>points
to a MOUSEHOOKSTRUCT structure</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">return
value</font>: zero if the message should be processed. 1 if the message
should be discarded.</font></font></li>
</ul>
</blockquote>
<font face="Arial,Helvetica"><font size=-1>The bottom line is: you must
consult your win32 api reference for details about the meanings of the
parameters and return value of the hook you want to install.</font></font>
<br><font face="Arial,Helvetica"><font size=-1>Now there is a little catch
about the hook procedure. Remember that the hooks are chained in a linked
list with the most recently installed hook at the head of the list. When
an event occurs, Windows will call only the first hook in the chain. It's
your hook procedure's responsibility to call the next hook in the chain.
You can choose not to call the next hook but you'd better know what you're
doing. Most of the time, it's a good practice to call the next procedure
so other hooks can have a shot at the event. You can call the next hook
by calling <b><font color="#009900">CallNextHookEx</font></b> which has
the following prototype:</font></font>
<blockquote><b><font face="Arial,Helvetica"><font color="#009900"><font size=-1>CallNextHookEx
proto hHook:DWORD, nCode:DWORD, wParam:DWORD, lParam:DWORD</font></font></font></b>
<ul>
<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">hHook</font>
is your own hook handle. The function uses this handle to traverse the
linked list and search for the hook procedure it should call next.</font></font></li>

<li>
<font face="Arial,Helvetica"><font size=-1><font color="#FFFF00">nCode</font>,
<font color="#FFFF00">wParam</font>
and <font color="#FFFF00">lParam</font>&nbsp; you can just pass those three
values you receive from Windows to CallNextHookEx.</font></font></li>
</ul>
</blockquote>
<font face="Arial,Helvetica"><font size=-1>An important note about remote
hooks: the hook procedure must reside in a DLL which will be mapped into
other processes. When Windows maps the DLL into other processes, it will
not map the data section(s) into the other processes. In short, all processes
share a single copy of code but they will have their own private copy of
the DLL's data section! This can be a big surprise to the unwary. You may
think that when you store a value into a variable in the data section of
a DLL, that value will be shared among all processes that load the DLL
into their process address space. It's simply not true. In normal situation,
this behavior is desirable since it provides the illusion that each process
has its own copy of the DLL. But not when Windows hook is concerned. We
want the DLL to be identical in all processes, including the data. The
solution: you must mark the data section as shared. You can do this by
specifying the section(s) attribute in the linker switch. For MASM, you
need to use this switch:</font></font>
<blockquote><b><font face="Arial,Helvetica"><font color="#999900"><font size=-1>/SECTION:&lt;section
name>, S</font></font></font></b></blockquote>
<font face="Arial,Helvetica"><font size=-1>The name of the initialized
data section is .data and the uninitialized data is .bss. For example if
you want to assemble a DLL which contains a hook procedure and you want
the uninitialized data section to be shared amoung processes, you must
use the following line:</font></font>
<blockquote><b><font face="Arial,Helvetica"><font color="#999900"><font size=-1>link
/section:.bss,S&nbsp; /DLL&nbsp; /SUBSYSTEM:WINDOWS ..........</font></font></font></b></blockquote>
<font face="Arial,Helvetica"><font size=-1>S attribute marks the section
as shared.</font></font>
<h3>
<font face="Arial,Helvetica"><font color="#3366FF"><font size=+0>Example:</font></font></font></h3>
<font face="Arial,Helvetica"><font size=-1>There are two modules: one is
the main program which will do the GUI part and the other is the DLL that
will install/uninstall the hook.</font></font>
<p><font face="Arial,Helvetica"><font size=-1>;---------------------------------------------
This is the source code of the main program --------------------------------------</font></font>
<br><b><font face="Arial,Helvetica"><font size=-1>.386</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>.model flat,stdcall</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>option casemap:none</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>include \masm32\include\windows.inc</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>include \masm32\include\user32.inc</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>include \masm32\include\kernel32.inc</font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#999900"><font size=-1>include
mousehook.inc</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#999900"><font size=-1>includelib
mousehook.lib</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>includelib \masm32\lib\user32.lib</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>includelib \masm32\lib\kernel32.lib</font></font></b><b><font face="Arial,Helvetica"><font size=-1></font></font></b>
<p><b><font face="Arial,Helvetica"><font size=-1>wsprintfA proto C :DWORD,:DWORD,:VARARG</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>wsprintf TEXTEQU &lt;wsprintfA></font></font></b><b><font face="Arial,Helvetica"><font size=-1></font></font></b>
<p><b><font face="Arial,Helvetica"><font size=-1>.const</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>IDD_MAINDLG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ 101</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>IDC_CLASSNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ 1000</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>IDC_HANDLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ 1001</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>IDC_WNDPROC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ 1002</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>IDC_HOOK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ 1004</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>IDC_EXIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ 1005</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>WM_MOUSEHOOK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
equ WM_USER+6</font></font></b>
<p><b><font face="Arial,Helvetica"><font size=-1>DlgFunc PROTO :DWORD,:DWORD,:DWORD,:DWORD</font></font></b>
<p><b><font face="Arial,Helvetica"><font size=-1>.data</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>HookFlag dd FALSE</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>HookText db "&amp;Hook",0</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>UnhookText db "&amp;Unhook",0</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>template db "%lx",0</font></font></b>
<p><b><font face="Arial,Helvetica"><font size=-1>.data?</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>hInstance dd ?</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>hHook dd ?</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>.code</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>start:</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; invoke
GetModuleHandle,NULL</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; mov
hInstance,eax</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; invoke
DialogBoxParam,hInstance,IDD_MAINDLG,NULL,addr DlgFunc,NULL</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; invoke
ExitProcess,NULL</font></font></b>
<p><b><font face="Arial,Helvetica"><font size=-1>DlgFunc proc hDlg:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; LOCAL
hLib:DWORD</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; LOCAL
buffer[128]:byte</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; LOCAL
buffer1[128]:byte</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; LOCAL
rect:RECT</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; .if
uMsg==WM_CLOSE</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
.if HookFlag==TRUE</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke UninstallHook</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
.endif</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke EndDialog,hDlg,NULL</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; .elseif
uMsg==WM_INITDIALOG</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke GetWindowRect,hDlg,addr rect</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke SetWindowPos, hDlg, HWND_TOPMOST, rect.left, rect.top, rect.right,
rect.bottom, SWP_SHOWWINDOW</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp; .elseif
uMsg==WM_MOUSEHOOK</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke GetDlgItemText,hDlg,IDC_HANDLE,addr buffer1,128</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke wsprintf,addr buffer,addr template,wParam</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke lstrcmpi,addr buffer,addr buffer1</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
.if eax!=0</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
invoke SetDlgItemText,hDlg,IDC_HANDLE,addr buffer</font></font></b>
<br><b><font face="Arial,Helvetica"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
.endif</font></font></b>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区主播在线| 麻豆91免费看| 亚洲不卡av一区二区三区| 亚洲成人在线观看视频| 国产精品原创巨作av| av不卡在线播放| 欧美精品黑人性xxxx| 久久久久久99久久久精品网站| 日本一区二区成人在线| 午夜成人免费电影| 国产九色精品成人porny| 一本一道波多野结衣一区二区| 欧美一区二区三区四区高清| 中文字幕一区av| 精品一区二区三区免费播放| 91国偷自产一区二区使用方法| 日韩午夜激情av| 国产精品国产三级国产aⅴ无密码| 午夜免费久久看| 91啦中文在线观看| 国产精品天美传媒| 国产·精品毛片| 欧美亚洲国产怡红院影院| 久久精品一二三| 国产一区二区三区蝌蚪| 91精品久久久久久久99蜜桃 | 99re亚洲国产精品| 久久亚洲影视婷婷| 麻豆久久久久久久| 91精品国产综合久久精品app| 一区二区三区精品在线观看| 成人h动漫精品一区二区| 久久久久97国产精华液好用吗| 国产在线观看一区二区| 精品国产一区二区三区四区四| 国模一区二区三区白浆| 日韩精品一区二区三区四区视频| 婷婷一区二区三区| 欧美精品九九99久久| 日本美女一区二区三区视频| 欧美在线视频日韩| 免费在线看一区| 欧美一级日韩免费不卡| 欧美人妖巨大在线| 日韩精品一区二区在线观看| 亚洲成人一区在线| 欧美哺乳videos| 奇米综合一区二区三区精品视频| 日韩欧美精品在线视频| 久久激情综合网| 精品国产伦一区二区三区免费| 美女诱惑一区二区| 久久久久久夜精品精品免费| 成人av在线一区二区| 亚洲欧美日韩电影| 制服丝袜一区二区三区| 久草在线在线精品观看| 国产精品久久网站| 欧美挠脚心视频网站| 国内精品国产三级国产a久久| 中文字幕欧美国产| 91精品国产91综合久久蜜臀| 国v精品久久久网| 亚洲午夜久久久久中文字幕久| 日韩精品一区二区三区在线| aaa欧美大片| 日本中文字幕不卡| 18欧美亚洲精品| 国产一区二区影院| 国产精品视频免费看| 在线不卡a资源高清| 97精品超碰一区二区三区| 天堂在线一区二区| 亚洲同性gay激情无套| 日韩久久精品一区| 欧美日韩一区二区三区在线看| 国产精品538一区二区在线| 视频一区二区三区中文字幕| 亚洲国产激情av| 久久美女高清视频| 日韩一级二级三级精品视频| 欧美三级中文字幕在线观看| 成人开心网精品视频| 久久精品国产77777蜜臀| 亚洲电影激情视频网站| 亚洲青青青在线视频| 国产情人综合久久777777| 欧美成人免费网站| 久久人人爽爽爽人久久久| 欧美www视频| 91热门视频在线观看| 波多野结衣91| 色欧美片视频在线观看| 波多野结衣一区二区三区 | 美女看a上一区| 亚洲国产色一区| 亚洲午夜久久久久中文字幕久| 一区二区激情视频| 天天综合日日夜夜精品| 石原莉奈在线亚洲三区| 麻豆精品一区二区三区| 另类综合日韩欧美亚洲| 国产福利不卡视频| 99精品国产视频| 成人欧美一区二区三区黑人麻豆 | 高清在线观看日韩| 成人性色生活片免费看爆迷你毛片| 国产精品一级片| bt欧美亚洲午夜电影天堂| 欧美色视频在线观看| 欧美一级在线视频| 日韩精品综合一本久道在线视频| 精品欧美一区二区三区精品久久| 日本一区二区三区电影| 一级特黄大欧美久久久| 亚洲曰韩产成在线| 精品在线免费观看| 91黄色免费网站| 2021国产精品久久精品| 中文字幕一区二区三区精华液 | 免费亚洲电影在线| 成人免费看的视频| 欧美日韩在线播放一区| 久久久精品免费免费| 亚洲激情自拍视频| 韩国午夜理伦三级不卡影院| 色综合视频一区二区三区高清| 日韩视频在线永久播放| 一区二区三区四区高清精品免费观看| 免费在线观看不卡| 色又黄又爽网站www久久| 久久新电视剧免费观看| 亚洲成av人片在线| 99久久精品免费看国产免费软件| 日韩小视频在线观看专区| 亚洲精品成人精品456| va亚洲va日韩不卡在线观看| 欧美成人vps| 麻豆精品新av中文字幕| 欧美日韩一级视频| 亚洲高清久久久| 不卡的看片网站| 国产日韩欧美精品电影三级在线| 天堂蜜桃91精品| 欧美日韩成人综合天天影院| 国产精品视频一二| 国产成人av电影在线播放| 久久久三级国产网站| 久久精品国产久精国产| 精品免费国产一区二区三区四区| 日本强好片久久久久久aaa| 欧美一区二区三区在线电影| 日韩精品成人一区二区在线| 欧美一区二区三区在线电影| 极品少妇xxxx精品少妇| 国产日产精品1区| 国产sm精品调教视频网站| 国产精品水嫩水嫩| 欧美在线看片a免费观看| 午夜影院在线观看欧美| 欧美成人官网二区| 国产91精品入口| 亚洲最新视频在线播放| 在线成人免费视频| 国产精品一区二区三区乱码| 国产精品你懂的| 欧美日韩亚洲不卡| 久久 天天综合| 国产精品久久久久久久久免费丝袜 | 丰满白嫩尤物一区二区| 亚洲欧美国产77777| 欧美日韩精品欧美日韩精品一综合 | 黄色资源网久久资源365| 国产婷婷色一区二区三区在线| 成人精品视频网站| 日韩中文字幕麻豆| 国产精品福利一区| 日韩免费性生活视频播放| 国产iv一区二区三区| 久久99国产精品久久99| 亚洲国产经典视频| 欧美大片在线观看一区| caoporn国产精品| 免费在线看一区| 午夜视频一区在线观看| 中文字幕在线不卡国产视频| 日韩视频一区二区| 欧美图片一区二区三区| 国产精品一二二区| 国产在线乱码一区二区三区| 亚洲成人免费视| 亚洲欧洲精品一区二区精品久久久 | 欧美一区二区三区思思人 | 久久综合99re88久久爱| 欧美精品日韩一本| 欧美午夜精品一区| 91福利在线看| 99久久精品免费看| 国产a级毛片一区| 成av人片一区二区|