VFP ·R¥ÎªÌªÀ°Ï ­º­¶ VFP ·R¥ÎªÌªÀ°Ï
¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

³o¬O¤@­Ó²³æªº ¦h°õ¦æºü ½d¨Ò

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
rcj811



µù¥U®É¶¡: 2003-08-12
¤å³¹: 35


²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤E¤ë 26, 2008 9:53 am    ¤å³¹¥DÃD: ³o¬O¤@­Ó²³æªº ¦h°õ¦æºü ½d¨Ò ¤Þ¨¥¦^ÂÐ

¦³¿³½ìªº¤H,¨Ó¬ã¨s¬Ý¬Ý§a!

CLEAR ALL

CLEAR

#define CREATE_SUSPENDED 0x00000004

#define INFINITE 0xFFFFFFFF

#define WAIT_TIMEOUT 258





DECLARE integer LoadLibrary IN WIN32API string

DECLARE integer FreeLibrary IN WIN32API integer

DECLARE integer GetProcAddress IN WIN32API integer hModule, string procname

DECLARE integer CreateThread IN WIN32API integer lpThreadAttributes,integer dwStackSize, integer lpStartAddress, integer lpParameter, integer dwCreationFlags, integer @ lpThreadId

DECLARE integer ResumeThread IN WIN32API integer thrdHandle

DECLARE integer CloseHandle IN WIN32API integer Handle

DECLARE integer GetProcessHeap IN WIN32API

DECLARE integer HeapAlloc IN WIN32API integer hHeap, integer dwFlags, integer dwBytes

DECLARE integer HeapFree IN WIN32API integer hHeap, integer dwFlags, integer lpMem

DECLARE integer WaitForSingleObject IN WIN32API integer hHandle, integer dwMilliseconds



hModule = LoadLibrary("user32")

adrMessageBox=GetProcAddress(hModule,"MessageBoxA")

FreeLibrary(hModule)



hProcHeap = GetProcessHeap()

sCaption="This is a MessageBox running in a separate thread"+CHR(0) && null terminate string

adrCaption = HeapAlloc(hProcHeap, 0, LEN(sCaption)) && allocate memory for string

SYS(2600,adrCaption,LEN(sCaption),sCaption) && copy string into allocated mem



* int 3 = cc (Debug Breakpoint: attach a debugger dynamically)

* nop = 90

* push 0 = 6a 00

* push eax = 50

* push 0x12345678 = 68 78 56 34 12

* ret 4 = c2 04 00

* mov eax, esp = 8B c4

* mov eax, 0x12345678 = B8 78 56 34 12

* call eax = ff d0

sCode=""

*sCode = sCode + CHR(0xcc)

sCode = sCode + CHR(0x6a) + CHR(0x00) && push 0

sCode = sCode + CHR(0x68) + BINTOC(adrCaption,"4rs") && push the string caption

sCode = sCode + CHR(0x68) + BINTOC(adrCaption,"4rs") && push the string caption

sCode = sCode + CHR(0x6a) + CHR(0x00) && push the hWnd

sCode = sCode + CHR(0xb8) + BINTOC(adrMessageBox,"4rs") && move eax, adrMessageBox

sCode = sCode + CHR(0xff) + CHR(0xd0) && call eax

sCode = sCode + CHR(0xc2)+CHR(0x04)+CHR(0x00) && ret 4



AdrCode=HeapAlloc(hProcHeap, 0, LEN(sCode)) && allocate memory for the code



SYS(2600,AdrCode, LEN(sCode), sCode) && copy the code into the string



dwThreadId =0

?"Starting thread count = ",GetThreadCount()



hThread = CreateThread(0,1024, AdrCode, 0, CREATE_SUSPENDED, @dwThreadId)

?"Thread handle = ",hThread

?"Thread ID = ", dwThreadID

ResumeThread(hThread) && Start the thread

i=0

DO WHILE WaitForSingleObject(hThread, 100) = WAIT_TIMEOUT && wait 100 msecs for the thread to finish

?i,"Current thread count",GetThreadCount()

i=i+1

ENDDO

?"Final thread count = ",GetThreadCount()









?"Close",CloseHandle(hThread)

HeapFree(hProcHeap, 0, AdrCode) && if the thread hasn't finished, we're releasing the executing code and it'll crash

HeapFree(hProcHeap, 0, adrCaption)



RETURN





PROCEDURE GetThreadCount as Integer

*Use WMI to get process information

objWMIService = GetObject("winmgmts:\\.\root\cimv2")

colItems = objWMIService.ExecQuery("Select * from Win32_Process where processid = "+TRANSFORM(_vfp.ProcessId))

For Each objItem in colItems

nRetval = objItem.ThreadCount

NEXT

RETURN nRetval
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
nelsonchuang



µù¥U®É¶¡: 2003-09-04
¤å³¹: 563
¨Ó¦Û: »OÆW

²Ä 2 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤E¤ë 26, 2008 11:00 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¦Ñ¹ê»¡:§Ú¨ì²{¦bÁÙ·d¤£²M·¡­n¥Î¦b¦ó³B?
¥i¥H»¡»¡¶Ü?

_________________
¤j®a¦n,½Ð¦h«ü±Ð
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
rcj811



µù¥U®É¶¡: 2003-08-12
¤å³¹: 35


²Ä 3 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤E¤ë 26, 2008 11:30 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¨ä¹ê³o¬O¯S®í»Ý¨Dªº¤H¤~·|¥Î¨ì!
©Î³\±z¤]¥i¥H·Q,¦p¬d¸ß»Ý­n¥Î¨ì«Üªøªº®É¶¡©Î«þ¨©ÀÉ®×
³o®É­ÔVFP¨ä¹ê¤@ª½¦bµ¥«Ý°Ê§@°µ§¹,¦pªG¦³¤F¦h°õ¦æºü
±z´N¥i¥H¥áµ¹¥¦°µ,¦ý§Aªºµ{¦¡ÁÙ¬O¥i¥HÄ~Äò°µ¨ä¥L¨Æ±¡
³o¼Ë®Ä²v´N«Ü°ª¤F!
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
syntech



µù¥U®É¶¡: 2003-05-16
¤å³¹: 4249
¨Ó¦Û: Taipei,Taiwan

²Ä 4 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤E¤ë 26, 2008 1:37 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¥Î vfp §@¤@­Ó¹³ asp server ±µ¨ü nK ¤H³s½u®É´N¥Îªº¨ì¤F. XD
_________________
¦pªG¤½¥q¦³¤U¦C§xÂZ:
1. §ä¤£¨ì«K©y,§Ö³t,²©öªº ¥Í²£±Æµ{³nÅé
2. ¤£ª¾¹D¦p¦ó§Ö³t±Æ©w ±ÄÁÊ­p¹º
3. ¦¨¥»§ì¤£·Ç,¦Û¤vºâ¤ñ³nÅéºâ¦³¥Î
4. ·Q¾Ç²ß¨t²Î³W¹º,·Q§ä¨t²Î¬[ºcªºÅU°Ý

½ÐÁpµ¸§Ú­Ì,¤]³\§Ú­ÌÀ°±o¤W¦£
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ µo°e¹q¤l¶l¥ó AIM Address
green



µù¥U®É¶¡: 2003-09-19
¤å³¹: 137


²Ä 5 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤E¤ë 26, 2008 5:11 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

·PÁ¤À¨É,§ä«Ü¤[¤F
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
goto-dream



µù¥U®É¶¡: 2004-05-11
¤å³¹: 909


²Ä 6 ¼Ó

µoªíµoªí©ó: ¬P´Á¤é ¤Q¤@¤ë 16, 2008 1:33 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

³o¤å³¹¤£¿ù....¤U¸ü´ú¸Õ.....ÁÙ¦³¨S¦³¨ä¥LªºÀ³¥Î½d¨Òªü?·P®¦
_________________
ºÖ¶©©÷²b¤ô¦³­­¤½¥q--²b¤ô¾¹ªº±M®a,²b¤ô¾¹,¶¼¤ô¾÷,Âo¤ß!!

·Q¤F¸Ñ§ó¦h¡A±z¥i¤W©¯ºÖÂû´ö²Õ.§ä´M!!¤BæXÞ±.¦Ñ®v.

¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@·R§@¹Ú
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ µo°e¹q¤l¶l¥ó
liangszpt



µù¥U®É¶¡: 2004-11-18
¤å³¹: 263
¨Ó¦Û: ÆÎ东¬Ù²`¦`¥«

²Ä 7 ¼Ó

µoªíµoªí©ó: ¬P´Á¥| ¤Q¤@¤ë 20, 2008 11:57 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

§Ú¥´¤@¥÷报ªí¡A¥Ñ¤_数Õu¶q¤j¡A»Ýªá费«Ü长时间¡C¯à§_¥Î这个¡A§Ö³t¸õ过¡A继续执¦æ¤U­±ªºµ{¦¡©O¡H
_________________
§Úªº²z·Q¬O¯à¦¨为¥j¥Nªº¤@¦ì´I®a¤½¤l¡A
¤é±`¥Í¬¡´N¬O³Ü¯ù¥h©É­»°|¡A没¨Æ带þÓ¤@¯Z¤p¥´¤â¦bµó¤W调戏¨}®a妇¤k¡C
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ µo°e¹q¤l¶l¥ó MSN Messenger
ezpos



µù¥U®É¶¡: 2011-04-20
¤å³¹: 323


²Ä 8 ¼Ó

µoªíµoªí©ó: ¬P´Á¥| ¤E¤ë 17, 2015 4:41 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

³o­Ó¥\¯à¯u´Î°Ú
_________________
ezPos¦¬»È¾÷ ²³æ¦n¥Î§C¦¨¥» http://www.ezpos.info
¥þ·s¬üÆ[ªºPOS¦¬»È¾÷.POS³nµwÅé¯Ó§÷.
³nÅé«È¨î¤Æ.ºô¯¸³W¹º....¯àÁÈ¿úªº³£¥i¥H§ä§Ú

http://www.twelife.com ¥xÆW¥Í¬¡ºô
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ °ÑÆ[µoªí¤Hªº­Ó¤Hºô¯¸
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±z µLªk ¦b³o­Óª©­±µoªí¤å³¹
±z µLªk ¦b³o­Óª©­±¦^ÂФ峹
±z µLªk ¦b³o­Óª©­±½s¿è¤å³¹
±z µLªk ¦b³o­Óª©­±§R°£¤å³¹
±z µLªk ¦b³o­Óª©­±¶i¦æ§ë²¼
±z µLªk ¦b³o­Óª©­±ªþ¥[ÀÉ®×
±z µLªk ¦b³o­Óª©­±¤U¸üÀÉ®×


Powered by phpBB © 2001, 2005 phpBB Group
¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@