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

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

?? tut16.html

?? win32匯編教程 希望各位多多支持
?? HTML
?? 第 1 頁 / 共 3 頁
字號:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="Iczelion">
   <meta name="GENERATOR" content="Mozilla/4.51 [en] (Win95; I) [Netscape]">
   <title>Iczelion's Win32 Assembly Tutorial 16: Event Object</title>
</head>
<body text="#FFFFFF" bgcolor="#000080" link="#FFFF00" vlink="#8080FF" alink="#FF00FF">

<center>
<h1>
<font face="Arial,Helvetica"><font color="#FFFFCC">Tutorial 16: Event Object</font></font></h1></center>
<font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>We will
learn what an event object is and how to use it in a multithreaded program.</font></font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1><font color="#FFFFFF">Download
the example </font><font color="#000000"><a href="files/tut16.zip">here</a>.</font></font></font>
<h3>
<font face="Arial,Helvetica"><font color="#33FF33"><font size=+0>Theory:</font></font></font></h3>
<font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>From the
previous tutorial, I demonstrated how threads communicate with a custom
window message. I left out two other methods: global variable and event
object. We will use both of them in this tutorial.</font></font></font>
<br><font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>An
event object is like a switch: it has only two states: on or off. When
an event object is turned on, it's in the "signalled" state. When it is
turned off, it's in the "nonsignalled" state. You create an event object
and put in a code snippet in the relevant threads to watch for the state
of the event object. If the event object is in the nonsignalled state,
the threads that wait for it will be asleep.When the threads are in wait
state, they consume little CPU time.</font></font></font>
<br><font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>You
create an event object by calling CreateEvent function which has the following
syntax:</font></font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><b><font face="Arial,Helvetica"><font color="#FFFFCC"><font size=-1>CreateEvent
proto lpEventAttributes:DWORD,\</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFFCC"><font size=-1>&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;&nbsp;&nbsp;&nbsp;
bManualReset:DWORD,\</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFFCC"><font size=-1>&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;&nbsp;&nbsp;&nbsp;
bInitialState:DWORD,\</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFFCC"><font size=-1>&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;&nbsp;&nbsp;&nbsp;
lpName:DWORD</font></font></font></b><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1><b><font color="#009900">lpEventAttribute</font></b><font color="#FFFFFF">-->
If you specify NULL value, the event object is created with default security
descriptor.</font></font></font>
<br><font face="Arial,Helvetica"><font size=-1><b><font color="#009900">bManualReset</font></b><font color="#FFFFFF">-->
If you want Windows to automatically reset the event object to nonsignalled
state after WaitForSingleObject call, you must specify FALSE as this parameter.
Else you must manually reset the event object with the call to ResetEvent.</font></font></font>
<br><font face="Arial,Helvetica"><font size=-1><b><font color="#009900">bInitialState</font></b><font color="#FFFFFF">-->
If you want the event object to be created in the signalled state, specify
TRUE as this parameter else the event object will be created in the nonsignalled
state.</font></font></font>
<br><font face="Arial,Helvetica"><font size=-1><b><font color="#009900">lpName</font></b><font color="#000000">
</font><font color="#FFFFFF">--> Pointer to an ASCIIZ string that is the
name of the event object. This name is used when you want to call OpenEvent.</font></font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>If
the call is successful, it returns the handle to the newly created event
object else it returns NULL.</font></font></font>
<br><font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>You
can modify the state of an event object with two API calls: SetEvent and
ResetEvent. SetEvent function sets the event object into signalled state.
ResetEvent does the reverse.</font></font></font>
<br><font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>When
the event object is created, you must put the call to WaitForSingleObject
in the thread that wants to watch for the state of the event object. WaitForSingleObject
has the following syntax:</font></font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><b><font face="Arial,Helvetica"><font color="#FFFFCC"><font size=-1>WaitForSingleObject
proto hObject:DWORD, dwTimeout:DWORD</font></font></font></b><font face="Arial,Helvetica"><font size=-1></font></font>
<p><font face="Arial,Helvetica"><font size=-1><b><font color="#009900">hObject</font></b><font color="#FFFFFF">
--> A handle to one of the synchronization object. Event object is a type
of synchronization object.</font></font></font>
<br><font face="Arial,Helvetica"><font size=-1><b><font color="#009900">dwTimeout
</font></b><font color="#FFFFFF">--> specify the time in milliseconds that
this function will wait for the object to be in signalled state. If the
specified time has passed and the event object is still in nonsignalled
state, WaitForSingleObject returns the the caller. If you want to wait
for the object indefinitely, you must specify the value INFINITE as this
parameter.</font></font></font>
<h3>
<font face="Arial,Helvetica"><font color="#33FF33"><font size=+0>Example:</font></font></font></h3>
<font face="Arial,Helvetica"><font color="#FFFFFF"><font size=-1>The example
below displays a window waiting for the user to select a command from the
menu. If the user selects "run thread", the thread starts the savage calculation.
When it's finished, a message box appears informing the user that the job
is done. During the time that the thread is running, the user can select
"stop thread" to stop the thread.</font></font></font><font face="Arial,Helvetica"><font size=-1></font></font>
<p><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>.386</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>.model
flat,stdcall</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>option
casemap:none</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>WinMain
proto :DWORD,:DWORD,:DWORD,:DWORD</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>include
\masm32\include\windows.inc</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>include
\masm32\include\user32.inc</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>include
\masm32\include\kernel32.inc</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>includelib
\masm32\lib\user32.lib</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>includelib
\masm32\lib\kernel32.lib</font></font></font></b><font face="Arial,Helvetica"><font size=-1></font></font>
<p><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>.const</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>IDM_START_THREAD
equ 1</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>IDM_STOP_THREAD
equ 2</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>IDM_EXIT
equ 3</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>WM_FINISH
equ WM_USER+100h</font></font></font></b><font face="Arial,Helvetica"><font size=-1></font></font>
<p><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>.data</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>ClassName
db "Win32ASMEventClass",0</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>AppName&nbsp;
db "Win32 ASM Event Example",0</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>MenuName
db "FirstMenu",0</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>SuccessString
db "The calculation is completed!",0</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>StopString
db "The thread is stopped",0</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>EventStop
BOOL FALSE</font></font></font></b><font face="Arial,Helvetica"><font size=-1></font></font>
<p><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>.data?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>hInstance
HINSTANCE ?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>CommandLine
LPSTR ?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>hwnd
HANDLE ?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>hMenu
HANDLE ?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#FFFF99"><font size=-1>ThreadID
DWORD ?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>ExitCode
DWORD ?</font></font></font></b>
<br><b><font face="Arial,Helvetica"><font color="#66FF99"><font size=-1>hEventStart

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产99国产精品| 国产精品久久久久7777按摩| 欧美视频在线一区二区三区| a亚洲天堂av| 欧美性高清videossexo| 97se亚洲国产综合自在线| 色婷婷精品大在线视频 | 亚洲素人一区二区| 夜夜精品视频一区二区 | 欧美日韩mp4| 精品国内二区三区| 欧美激情一区二区三区不卡| 精品电影一区二区| 国产精品无码永久免费888| 2023国产精品| 久久九九久精品国产免费直播| 国产精品女主播在线观看| 亚洲国产精品久久久久婷婷884| 亚洲一区二区中文在线| 麻豆国产精品一区二区三区| 国产91精品精华液一区二区三区 | 激情五月激情综合网| 成人短视频下载| 欧美亚洲一区二区三区四区| 日韩欧美一级二级| 一区二区日韩av| 狠狠狠色丁香婷婷综合久久五月| 国产麻豆精品在线观看| 成人精品鲁一区一区二区| 91在线看国产| 欧美一区二区视频在线观看2022| 欧美日韩aaa| 日韩欧美视频一区| 欧美国产一区二区在线观看| 亚洲午夜久久久久| 成人在线视频一区| 欧美伦理电影网| 久久婷婷综合激情| 自拍av一区二区三区| 成人在线一区二区三区| 精品理论电影在线| 亚洲一区二区三区爽爽爽爽爽| 久久精品国产网站| 精品视频色一区| 国产精品麻豆一区二区| 日韩二区三区在线观看| 色欧美日韩亚洲| 欧美一区二区三区视频| 亚洲视频一区在线| 99这里只有精品| 欧美一级欧美三级在线观看| 884aa四虎影成人精品一区| 亚洲色欲色欲www| 91亚洲永久精品| 国产精品污www在线观看| 成人黄色在线视频| 性欧美大战久久久久久久久| 国产91富婆露脸刺激对白| 国产欧美视频在线观看| 青草国产精品久久久久久| 69堂成人精品免费视频| 亚洲欧美乱综合| 91精品国产91热久久久做人人| 亚洲一级在线观看| 欧美精品tushy高清| 麻豆视频一区二区| 欧美二区乱c少妇| 国产精品一区二区黑丝| 国产精品入口麻豆原神| 不卡的av在线播放| 亚洲超丰满肉感bbw| 久久久久久久免费视频了| 99视频精品在线| 日韩国产高清影视| 国产亚洲综合色| 欧美在线综合视频| 午夜精品久久久久久久久久 | 欧美亚洲日本一区| 日本va欧美va精品发布| 中文字幕精品三区| 欧美日韩一区二区三区免费看| 精品在线观看视频| 亚洲成av人影院| 国产精品麻豆视频| 日韩欧美国产综合| 欧美中文字幕亚洲一区二区va在线| 精品一区二区精品| 亚洲国产精品人人做人人爽| 亚洲国产成人私人影院tom| 欧美日韩国产片| 色综合久久久久网| 夫妻av一区二区| 老司机精品视频线观看86| 亚洲一区二区三区精品在线| 国产农村妇女毛片精品久久麻豆| 欧美亚洲愉拍一区二区| 国产69精品久久久久777| 美腿丝袜亚洲一区| 日韩精品三区四区| 中文字幕亚洲电影| 国产精品乱子久久久久| 精品少妇一区二区三区日产乱码| 在线观看视频一区| 成人99免费视频| 色综合天天性综合| kk眼镜猥琐国模调教系列一区二区 | 欧美精品在线一区二区| 在线精品亚洲一区二区不卡| 色哟哟一区二区三区| 欧美日韩午夜在线| 欧美美女bb生活片| 欧美另类久久久品| 3atv在线一区二区三区| 精品欧美久久久| 国产精品午夜电影| 一区二区三区免费| 日本伊人色综合网| 韩国三级中文字幕hd久久精品| 国产一区二区三区黄视频| 国产高清精品在线| 99久久99久久精品免费看蜜桃| 99久久99久久精品国产片果冻| 高清av一区二区| 在线看不卡av| 日韩精品一区二区三区老鸭窝| 精品对白一区国产伦| 国产精品乱人伦中文| 视频一区欧美精品| av在线不卡网| 欧美成人艳星乳罩| 夜夜嗨av一区二区三区| 美女视频黄久久| 国产高清视频一区| av日韩在线网站| 国产亚洲欧美一级| 欧美一级淫片007| 久久久久久一级片| 五月婷婷激情综合| 成人激情黄色小说| 欧美tickling网站挠脚心| 国产精品乱子久久久久| 蜜桃精品视频在线| 色狠狠av一区二区三区| 国产欧美日本一区二区三区| 偷窥国产亚洲免费视频| 91亚洲精品久久久蜜桃网站| 欧美一级黄色录像| 亚洲欧美日韩系列| 97久久久精品综合88久久| 久久蜜桃av一区二区天堂| 美女爽到高潮91| 欧美精品自拍偷拍动漫精品| 亚洲精品视频在线观看免费 | 日韩一区二区麻豆国产| 亚洲欧美成人一区二区三区| 大胆亚洲人体视频| 久久品道一品道久久精品| 激情图片小说一区| 精品精品国产高清一毛片一天堂| 日本在线播放一区二区三区| 欧美一级高清片| 蜜桃av一区二区在线观看| 欧美一级高清片在线观看| 午夜伦欧美伦电影理论片| 欧美三级三级三级爽爽爽| 亚洲亚洲精品在线观看| 欧美人妖巨大在线| 免费在线观看成人| 欧美色图天堂网| 亚洲不卡一区二区三区| 日韩网站在线看片你懂的| 美女视频一区在线观看| 26uuu国产日韩综合| 国产成人小视频| 国产欧美日韩另类视频免费观看| 国产白丝精品91爽爽久久| 亚洲天堂网中文字| 欧美另类变人与禽xxxxx| 精品一区二区三区在线观看国产| 国产亚洲一本大道中文在线| 日韩三级在线观看| 欧美一区二区视频观看视频| 欧美体内she精高潮| 色欧美日韩亚洲| 97精品国产露脸对白| 国产精品一品视频| 国产成人午夜电影网| 国产成人在线网站| 国产乱国产乱300精品| 日本女人一区二区三区| 亚洲国产日韩a在线播放性色| 亚洲天堂免费看| 国产精品麻豆视频| 欧美一区二区三区的| 亚洲四区在线观看| 欧美一区二区三区视频在线观看| 99热精品国产| 国产一区二区不卡老阿姨| 亚洲欧美日韩成人高清在线一区| 久久一区二区三区四区|