¡¶windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ¡·

ÏÂÔØ±¾Êé

Ìí¼ÓÊéÇ©

windows»·¾³ÏÂ32λ»ã±àÓïÑÔ³ÌÐòÉè¼Æ- µÚ79½Ú


°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»1000000

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£repeat

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡@lpLastMem

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalAlloc£»GPTR£»1000000

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡@lpLastMem£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»1000000

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡inc¡¡¡¡¡¡¡¡¡¡dwCount

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalReAlloc£»eax£»100£»GMEM_ZEROINIT

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»1000000¡¡¡­¡¡100

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemInt£»hWinMain£»IDC_MEMORY£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwTotalMemory£»FALSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemInt£»hWinMain£»IDC_COUNT£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dwCount£»FALSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£until¡¡¡¡£¡¡¡@lpLastMem

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SetDlgItemText£»hWinMain£»IDC_INFO£»addr¡¡szInfo

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡ifCanQuit£»1

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_ProcThread¡¡¡¡¡¡¡¡¡¡endp

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡proc¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡uses¡¡ebx¡¡edi¡¡esi¡¡hWnd£»wMsg£»wParam£»lParam

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡local¡¡¡¡¡¡@dwTemp

¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»wMsg

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax¡¡¡¡¡¡WM_CLOSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡ifCanQuit

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡EndDialog£»hWnd£»NULL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£elseif¡¡eax¡¡¡¡¡¡WM_INITDIALOG

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hWnd

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡¡¡hWinMain

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡LoadIcon£»hInstance£»ICO_MAIN

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡SendMessage£»hWnd£»WM_SETICON£»ICON_BIG£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡¡¡CreateThread£»NULL£»0£»offset¡¡_ProcThread£»NULL£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»addr¡¡@dwTemp

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡CloseHandle£»eax

£»********************************************************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£else

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡eax£»FALSE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£endif

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡eax£»TRUE

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret

¡¡

_ProcDlgMain¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡endp

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

start£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GetModuleHandle£»NULL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡¡¡hInstance£»eax

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡DialogBoxParam£»hInstance£»DLG_MAIN£»

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡NULL£»offset¡¡_ProcDlgMain£»NULL

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡ExitProcess£»NULL

£»¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡end¡¡¡¡¡¡¡¡¡¡start



¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔÆ±ò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡


µÚ10Õ¡¡ÄÚ´æ¹ÜÀíºÍÎļþ²Ù×÷


10¡£1¡¡ÄÚ¡¡´æ¡¡¹Ü¡¡Àí£¨4£©

¡¡¡¡¡¡¡¡
¶ÔÓ¦µÄ×ÊÔ´ÎļþFragment¡£rcÈçÏ£º

//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

#include¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

#define¡¡ICO_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1000

#define¡¡DLG_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡100

#define¡¡IDC_MEMORY¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡101

#define¡¡IDC_COUNT¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡102

#define¡¡IDC_INFO¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡103

//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

ICO_MAIN¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ICON¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¨Main¡£ico¡¨

//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

DLG_MAIN¡¡DIALOG¡¡308£»¡¡207£»¡¡130£»¡¡50

STYLE¡¡DS_MODALFRAME¡¡£ü¡¡WS_POPUP¡¡£ü¡¡WS_VISIBLE¡¡£ü¡¡WS_CAPTION¡¡£ü¡¡WS_SYSMENU

CAPTION¡¡¡¨Ë鯬ÄÚ´æÑÝʾ¡¨

FONT¡¡9£»¡¡¡¨ËÎÌ塨

£û

¡¡RTEXT¡¡¡¨ÉêÇëÄÚ´æ×ÜÊý£º¡¨£»¡¡¡­1£»¡¡7£»¡¡8£»¡¡60£»¡¡8

¡¡EDITTEXT¡¡IDC_MEMORY£»¡¡69£»¡¡5£»¡¡55£»¡¡12£»¡¡

ES_AUTOHSCROLL¡¡£ü¡¡ES_READONLY¡¡£ü¡¡WS_BORDER¡¡£ü¡¡WS_TABSTOP

¡¡RTEXT¡¡¡¨ÉêÇë´ÎÊý£º¡¨£»¡¡¡­1£»¡¡7£»¡¡21£»¡¡60£»¡¡8

¡¡EDITTEXT¡¡IDC_COUNT£»¡¡69£»¡¡19£»¡¡55£»¡¡12£»¡¡

¡¡¡¡¡¡¡¡¡¡¡¡ES_AUTOHSCROLL¡¡£ü¡¡ES_READONLY¡¡£ü¡¡WS_BORDER¡¡£ü¡¡WS_TABSTOP

¡¡LTEXT¡¡¡¨¡¨£»¡¡IDC_INFO£»¡¡7£»¡¡37£»¡¡120£»¡¡8

£ý

//¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·¡·

³ÌÐòÔÚWM_INITDIALOGÏûÏ¢Öн¨Á¢ÁËÒ»¸öÏß³ÌÀ´Ñ­»·ÉêÇëÄڴ棨Ï൱ÓÚÔÚºǫִ́ÐÐ_ProcThread×Ó³ÌÐò£¬Óë¶àÏß³ÌÏà¹ØµÄÄÚÈÝÇë²Î¼ûµÚ12Õ£©¡£È«¾Ö±äÁ¿dwCount¼Ç¼ÁËÉêÇëµÄ´ÎÊý£¬Ã¿´ÎÉêÇëÄÚ´æ¾Í½«ËüµÄÖµ¼Ó1¡£dwTotalMemory¼Ç¼Á˳ÌÐòÉêÇëµ½µÄÄÚ´æ×ÜÊý£¬Ã¿ÉêÇëÒ»¸ö1¡¡MBµÄÄڴ棬³ÌÐò½«ËüµÄÖµ¼ÓÉÏ1¡¡000¡¡000£¬Ã¿´ÎÓÃGlobalReAllocËõСÄÚ´æ¿é£¬Ôò½«ËüµÄÖµ¼õÈ¥999¡¡900¡£µ±×îºóÉêÇëÄÚ´æÊ§°ÜµÄʱºò£¬repeatÑ­»·½áÊø¡£

ÔÚWindows¡¡2000ÏÂÔËÐÐһϳÌÐòÒÔÑéÖ¤½á¹û£¬¼¸ÃëµÄÔËÐÐÖУ¬ÏÔʾµÄ¼ÆÊý²»¶ÏÔö¼Ó£¬×îºóµÄ½á¹ûÈçͼ10¡£3Ëùʾ¡£


ͼ10¡£3¡¡¡¡ÄÚ´æË鯬»¯µÄÑÝʾ½á¹û

½á¹ûºÍÔ¤ÏëµÄÒ»Ñù£¬¾­¹ý2¡¡027´ÎµÄ²Ù×÷£¬Ö»±£ÁôÁ˽ü202¡¡700¡¡BµÄÄڴ棬³ÌÐò¾Í³É¹¦µØ¡°Ä±É±¡±ÁËËùÓеĵØÖ·¿Õ¼ä£¬ÈÃÕû¸ö2¡¡GBÖмä³äÂúÁËË鯬£¬ÒÔÖÁÓÚÁ¬1¡¡MB´óСµÄÄÚ´æÒ²ÎÞ·¨ÉêÇëÁË£¡µ±³ÌÐòÔÚWindows¡¡9xÖÐÔËÐÐʱ£¬ÓÉÓÚ9xϵͳÔڸ߶˺͵ͶËÂÖ»»·ÖÅäÄÚ´æ¿é£¬ËùÒÔͬÑùµÄ°ì·¨¾Í²»»á²úÉúÄÚ´æË鯬£¬µ«ÊÇÈç¹ûÔÚÑ­»·ÖÐÏÈAllocÁ½´Î¡¢È»ºóReallocÁ½´ÎµÄ»°ÈÔÈ»¿ÉÒÔÔì³ÉÄÚ´æË鯬»¯¡£

ËäÈ»ÕâÊÇÒ»¸ö¼«¶ËµÄÇé¿ö£¬µ«ÔÚÏÖʵÖлᷢÉúÂ𣿻áµÄ£¡ÀýÈç±àдһ¸ö±éÀú¶þ²æÊ÷µÄ³ÌÐò£¬Ã¿Ôö¼ÓÒ»¸ö½áµãµÄʱºòÉêÇëÒ»¿éÄڴ棬ÓÃÀ´´æ·ÅÖ¸ÏòÆäËû½áµãµÄÖ¸ÕëÒÔ¼°¸½¼ÓÔÚ½áµãÉϵÄÊý¾Ý£¬µ±½áµã´¦ÀíÍê±ÏºóËõСÄÚ´æ¿é£¬Ö»ÁôÏÂÖ¸ÕëÊý¾Ý£¬ÄÇôÇé¿ö¾ÍºÍÑÝʾ³ÌÐòÀàËÆ£¬µ±Ê÷µÄ½áµã×ã¹»¶àµÄʱºò£¬¾­¹ýÒ»¶Îʱ¼äµÄ²Ù×÷£¬ÄÚ´æÖоͻá³äÂúË鯬¡£

½â¾öÄÚ´æË鯬»¯µÄ°ì·¨ºÜ¼òµ¥£¬ÒòΪË鯬֮¼äÓдóÁ¿µÄÄÚ´æÊÇ¿ÕÏеģ¬Ö»ÒªÔÊÐíWindowsÒÆ¶¯Ð¡¿éµÄÔÚÓÃÄڴ棬¾Í¿ÉÒÔ½«Ë鯬ºÏ²¢³É´ó¿éµÄ¿ÕÏÐÄڴ棬µ«ÊÇÔÚÓÃÄÚ´æ±»ÒÆ¶¯ºó£¬³ÌÐòÖжÔÓ¦µÄÖ¸ÕëÒ²ÒªËæ×Ÿı䣬²»È»¾Í»á·ÃÎʵ½´íÎóµÄµØÖ·£¬¶øÇÒ£¬ÔÚʹÓÃÄÚ´æµÄ¹ý³ÌÖУ¬ÄÚ´æÐèÒªÓиöËø¶¨µÄ¹ý³Ì£¬·ñÔòÓõ½Ò»°ëµÄʱºò±»WindowsÒÆ¶¯ÁË£¬½á¹ûÒÀÈ»ÊÇ´íÎóµÄ£¬Ö»ÓгÌÐò½«ÄÚ´æ½âËø£¬Windows²Å¿ÉÒÔ×ÔÓÉÒÆ¶¯ËüÃÇ£¬Õâ¾ÍÒýÉì³öÁË¿ÉÒÆ¶¯ÄÚ´æ¿éµÄ¸ÅÄîºÍ²Ù×÷µÄ»ù±¾·½·¨¡£

ÒªÉêÇëÒ»¸ö¿ÉÒÆ¶¯µÄÄÚ´æ¿é£¬Ê¹Óõĺ¯Êý»¹ÊÇGlobalAlloc£¬µ«ÐèҪʹÓò»Í¬µÄ²ÎÊý£º

invoke¡¡¡¡GlobalAlloc£¬GMEM_MOVEABLE¡¡or¡¡GMEM_ZEROINIT£¬dwBytes

¡£if¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡mov¡¡hMemory£¬eax

¡£endif

GMEM_MOVEABLE±êÖ¾Ö¸¶¨ÁË·ÖÅäµÄÄÚ´æÊÇ¿ÉÒÆ¶¯µÄ£¬GMEM_ZEROINITͬÑù±íʾ½«ÉêÇëµ½µÄÄÚ´æ¿éµÄÄÚÈݳõʼ»¯Îª0£¨Ò²¿ÉÒÔÓÃGHND±êÖ¾£¬Ëü¾ÍÏ൱ÓÚGMEM¡¡_MOVEABLE¡¡or¡¡GMEM_ZEROINIT£©£»Èç¹ûÄÚ´æÉêÇëʧ°Ü£¬eaxÖзµ»ØNULL£¬³É¹¦µÄ»°·µ»ØÖµÊÇÒ»¸ö¾ä±ú¶ø²»ÊÇÄÚ´æÖ¸Õ룬Óû§ÐèÒª±£´æÕâ¸ö¾ä±ú£¬ÔÚËø¶¨»òÊÍ·ÅÄÚ´æµÄʱºò»¹ÒªÓõ½Ëü¡£Ò»¸ö½ø³Ì¿ÉÒÔÉêÇëµÄ¿ÉÒÆ¶¯ÄÚ´æµÄ¿éÊý×î´ó²»Äܳ¬¹ý65¡¡536¸ö£¬ÉêÇë¹Ì¶¨ÄÚ´æ¿éʱÔòûÓÐÊýÁ¿ÏÞÖÆ¡£

ҪʹÓÿÉÒÆ¶¯ÄÚ´æÖ®Ç°£¬ÐèÒª°ÑËüËø¶¨£¬ÕâÏ൱ÓÚ¸æËßWindowsÏÖÔÚ³ÌÐòҪʹÓÃÕâ¿éÄÚ´æÁË£¬²»Äܽ«ËüÒÆ¶¯£¬Ëø¶¨ÄÚ´æÊ¹ÓÃGlobalLockº¯Êý£º

invoke¡¡¡¡GlobalLock£»hMemory

¡£if¡¡¡¡¡¡¡¡¡¡eax

¡¡¡¡¡¡¡¡mov¡¡lpMemory£¬eax

¡£endif

º¯ÊýµÄÈë¿Ú²ÎÊýÊÇGlobalAlloc·µ»ØµÄÄÚ´æ¾ä±ú£¬Èç¹ûËø¶¨³É¹¦£¬º¯Êý·µ»ØÒ»¸öÖ¸Õ룬³ÌÐò¿ÉÒÔÓÃʹÓù̶¨ÄÚ´æ¿éͬÑùµÄ·½·¨À´Ê¹ÓÃËü£»Èç¹ûËø¶¨Ê§°Ü£¬Ôòº¯Êý·µ»ØNULL¡£Ã¿´ÎËø¶¨·µ»ØµÄÖ¸ÕëλÖÿÉÄÜÊDz»Í¬µÄ£¬µ«ÄÚ´æ¿éÖеÄÊý¾Ý²»»á±ä»¯¡£

µ±³ÌÐòÔÝʱ²»ÐèÒª²Ù×÷Õâ¿éÄÚ´æµÄʱºò£¬Ó¦¸Ã½«Ëü½âËø£¬·ñÔòºÍʹÓù̶¨µÄÄÚ´æ¿é¾ÍûÓÐÇø±ðÁË£¬½âËøÊ¹ÓÃGlobalUnlockº¯Êý£º

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalUnlock£»hMemory

º¯ÊýµÄ²ÎÊýͬÑùÊÇGlobalAlloc·µ»ØµÄ¾ä±ú£¬½âËø³É¹¦µÄ»°º¯Êý·µ»Ø·Ç0Öµ¡£¶ÁÕß¿ÉÄÜÓиöÎÊÌ⣺ÔÚ¶àÏ̵߳ijÌÐòÖУ¬Á½¸öµØ·½Í¬Ê±Ëø¶¨Äڴ棬µ«µ±Ò»¸öµØ·½»¹ÔÚʹÓõÄÇé¿öÏÂÁíÒ»¸öµØ·½È´µ÷ÓÃGlobalUnlock½«ÄÚ´æ½âËøÁËÔõô°ì£¿Æäʵ²»Óõ£ÐÄÕâ¸öÎÊÌ⣬WindowsΪÿ¸ö¿ÉÒÆ¶¯µÄÄÚ´æ¾ä±úά»¤Ò»¸öËø¶¨¼ÆÊý£¬Ã¿´ÎËø¶¨ÄÚ´æµÄʱºò¼ÆÊý¼Ó1£¬½âËøµÄʱºò¼ÆÊý¼õ1£¬Ö»Óе±¼ÆÊýΪ0µÄʱºòÄÚ´æ²ÅÕæÕý±»½âËø£¬ËùÒÔÖ»Òª³ÌÐòÖеÄGlobalLockº¯ÊýºÍGlobalUnlockº¯ÊýÊÇÅä¶ÔµÄ£¬¾Í²»Óõ£ÐÄÕâ¸öÎÊÌâ¡£

ÒªÊÍ·ÅÒ»¸ö¿ÉÒÆ¶¯µÄÄÚ´æ¿é£¬Í¬ÑùʹÓÃGlobalFreeº¯Êý£º

¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalFree£¬hMemory

µ«Ê¹ÓõIJÎÊýÊÇGlobalAlloc·µ»ØµÄÄÚ´æ¾ä±ú£¬Èç¹ûÊͷųɹ¦£¬º¯Êý·µ»ØNULL¡£²»¹ÜÄڴ浱ǰÊÇ·ñ´¦ÔÚËø¶¨×´Ì¬£¬¶¼¿ÉÒÔ±»³É¹¦ÊÍ·Å¡£

µ÷Õû¿ÉÒÆ¶¯ÄÚ´æ¿éµÄ´óС£¬Í¬ÑùʹÓÃGlobalReAllocº¯Êý£º

¡¡¡¡¡¡¡¡invoke¡¡¡¡GlobalReAlloc£¬hMemory£¬dwBytes£¬GMEM_ZEROINIT¡¡or¡¡GMEM_MOVEABLE

Èç¹ûµ÷Õû³É¹¦£¬·µ»ØÖµ¾ÍÊÇÊäÈëµÄhMemory£¬Ê§°ÜµÄ»°·µ»ØÖµÊÇNULL¡£¼´Ê¹ÄÚ´æ¿éÔÚËø¶¨×´Ì¬£¬º¯ÊýÈÔÈ»¿ÉÒÔµ÷Óóɹ¦£¬µ«ÕâʱºòÄÚ´æ¿é¿ÉÄÜÒѾ­±»Òƶ¯ÁËλÖã¬Ô­À´ÓÃGlobalLockº¯Êý»ñÈ¡µÄÖ¸Õë¿ÉÄÜÒѾ­Ê§Ð§ÁË£¬ËùÒÔµ÷Õû¿ÉÒÆ¶¯ÄÚ´æ¿éµÄ´óС×îºÃ»¹ÊÇÏȽ«ÄÚ´æ½âËø£¬µÈµ÷ÕûÍê±ÏÒÔºóÔÙËø¶¨Ê¹Óá£

ÓÉÓÚʹÓÿÉÒÆ¶¯µÄÄÚ´æ¿é¶àÁËÒ»¸öËø¶¨µÄ¶¯×÷£¬ËÙ¶È×ÔȻҪ±ÈʹÓù̶¨µÄÄÚ´æ¿éÒªÂýÒ»µã£¬µ«¹Ì¶¨ÄÚ´æ¿éÓÖ´æÔÚË鯬ÎÊÌ⣬³ÌÐòÖÐʹÓÃÄÄÖÖ·½·¨ÓиöÈ¡ÉáµÄÎÊÌâ¡£Èç¹û³ÌÐòҪƵ·±µØ·ÖÅäºÍÊͷŲ»¶¨³¤µÄÄÚ´æ¿é£¬ÄÚ´æµÄË鯬»¯ÏÖÏó¾Í±È½ÏÑÏÖØ£¬ÌرðÊǵ±³ÌÐò³¤Ê±¼äÔËÐÐʱ£¬ÕâÖÖÇé¿öÏÂʹÓÿÉÒÆ¶¯ÄÚ´æ¿é±È½ÏºÃ£»Èç¹û³ÌÐ
СÌáʾ£º°´ »Ø³µ [Enter] ¼ü ·µ»ØÊéÄ¿£¬°´ ¡û ¼ü ·µ»ØÉÏÒ»Ò³£¬ °´ ¡ú ¼ü ½øÈëÏÂÒ»Ò³¡£ ÔÞһϠÌí¼ÓÊéÇ©¼ÓÈëÊé¼Ü