vbÔÚµ÷ÓÃAPIµÄÒ»¸öBug¿ÉÄܵ¼ÖÂÄÚ´æÐ¹Â¶
ÆäʵÕâ¸öÎÊÌâÎÒºÜÔçºÜÔçÒÔǰ¾Í·¢ÏÖÁË£¬Ö»ÊÇһֱûÁôÒ⣬Ҳ²»ÔÚÒâ¡£½ñÌìÎÞÒâÖÐÓÖÓÃVBдÁËÒ»¸ö³ÌÐòÈ«²¿Ê¹ÓÃNTDLLµ¼³öº¯Êý±àд£¬ÓÖ³öÏÖÁËÕâÑùµÄÇé¿ö£¬ÕâÑù¾ÍÓɲ»µÃÎÒ²»×¢ÒâÁË£¬¾¹ýÎҵķ´¸´²âÊÔÒÔ¼°·´»ã±àÑéÖ¤£¬Ö¤ÊµÁËvb6_sp6ÔÚµ÷ÓÃijЩAPI(²âÊÔµÄÓ¦¸ÃÓкܶàAPI´æÔÚÕâÑùµÄÎÊÌâ)´æÔÚÄÚ´æÐ¹Â¶ÎÊÌâ»òÕßÊǺ¯Êýµ÷ÓÃʧ°Ü¡£Çë´ó¼ÒÏÈ¿´ÎÒдµÄ¼òµ¥Á½¶Î´úÂë¡£
´úÂëÒ»£º
Option Explicit
Private Const MEM_RELEASE = &H8000
Private Const MEM_COMMIT = &H1000
Private Const PAGE_EXECUTE_READWRITE = &H40
Private Declare Function VirtualAlloc Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function VirtualFree Lib "kernel32" (lpAddress As Any, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long
Private Sub Code1()
Dim Base As Long
Base = VirtualAlloc(ByVal 0&, 100, MEM_COMMIT, PAGE_EXECUTE_READWRITE)
If Base Then
MsgBox Hex(Base)
MsgBox VirtualFree(ByVal Base, 0, MEM_RELEASE)
MsgBox Hex(GetLastError)
End If
End Sub
Õâ¶Î´úÂëÊÇÉêÇëÒ»¶ÎÄڴ棬ȻºóÂíÉÏÊÍ·ÅËü£¬´úÂëûʲôÄÑÒÔÀí½âµÄ·Ç³£¼òµ¥¡£´ó¼Ò×Ðϸ¿´´úÂëÉϺÃÏñÒ²²»´æÔÚÓÐʲôÎÊÌ⣬ÄÇôÎÊÌâÔÚʲôµØ·½ÄØ£¿
ÎÒÒ»¾äÒ»¾äÀ´½âÎöÊ×ÏÈ“Base = VirtualAlloc(ByVal 0&, 100, MEM_COMMIT, PAGE_EXECUTE_READWRITE)”
ÕâÐдúÂëÉêÇëÁËÒ»¶Î³¤100×Ö½ÚµÄÄÚ´æ¸ú×Ù½á¹û³É¹¦ÉêÇëÁ˵óöijµØÖ·£¬È»ºóÎÒÓÃmsgbox°ÑµØÖ·ÏÔʾ³öÀ´
ÕâʱÕâ¶ÎµØÖ·ÊÇ¿ÉÓõ쬴ó¼Ò¿ÉÒÔʹÓÃһЩÄÚ´æ²ì¿´±à¼¹¤¾ß£¬±ÈÈç±ùÈÐÖ®ÀàµÄ¡£È»ºóµ÷ÓÓVirtualFree ByVal Base, 0, MEM_RELEASE"ÊÍ·ÅÄڴ棬ʧ°ÜÁË¡£ÎÒ¼ì²éÁ˺ܾòÎÊýºÍAPIÉùÃ÷¾ùû·¢ÏÖÓÐʲôÎÊÌâÄÇôÎÊÌâ³öÔÚʲôµØ·½ÄØ£¿ÎªÁËÇóÖ¤ÎÒдÁË´úÂë¶þ£¬Ò²¾ÍÊÇ´úÂëÒ»×îÖÕÔÚRing3²ãµ÷ÓõÄAPIº¯Êý
´úÂë¶þ£º
Option Explicit
Private Const MEM_RELEASE = &H8000
Private Const MEM_COMMIT = &H1000
Private Const PAGE_EXECUTE_READWRITE = &H40
Private Declare Function Vi
Ïà¹ØÎĵµ£º
“×Ô¶¯µã»÷°´Å¥”С¹¤¾ßVBÔ´Âë
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Pri ......
¼òµ¥¶øÊµÓõĺϲ¢ExcelÎļþµÄº¯Êý£¬Äܹ»½«¶à¸öXLSÎļþÖÐÖ¸¶¨ÊýÁ¿µÄ¹¤×÷±í×Ô¶¯ºÏ²¢µ½Ò»¸öXLSÎļþÀï¡£µ±È»£¬Èç¹ûÖ»ÊÇÊý¾ÝºÏ²¢£¬ÔòʹÓÃADO¾Í¿ÉÒÔʵÏÖ£¬µ«Èç¹ûÒª±£Áô±í¸ñ¸ñʽ£¬Ôò¿ÖÅÂÖ»ÄÜʹÓð³µÄ·½·¨ÁË¡£
Ò»¡¢º¯Êý´úÂ룺
Option Explicit
'* ********************************************************* ......
'* ************************************************************** *
'* ³ÌÐòÃû³Æ£ºmodNtSrv
'* ³ÌÐò¹¦ÄÜ£ºÊµÏÖNT·þÎñ
'* ×÷Õߣºlyserver
'* ÁªÏµ·½Ê½£ºhttp://blog.csdn.net/lyserver
'* ************************************************************** *
Option Explicit
' ......
http://blog.csdn.net/cw198624/archive/2009/02/19/3911759.aspx
Ìí¼ÓÒ»¸öListBoxºÍÒ»¸ö°´Å¥
Option Explicit
Private Declare Function CloseHandle Lib "kernel32" (ByVal Handle As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As L ......
Óɵ×ÖÁÉÏÊÇ£º
• ÍйÜ×ÊÔ´
• WMI »ù´¡½á¹¹
• ʹÓÃÕß
ÍйÜ×ÊÔ´
ÍйÜ×ÊÔ´ÊÇÈÎÒâÂß¼»òÎïÀí×é¼þ£¬Í¨¹ýʹÓà WMI ½øÐй«¿ªºÍ¹ÜÀí¡£¿ÉÒÔʹÓà WMI ¹ÜÀíµ ......