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

WIN32 API¨ç¼Æªº¨Ï¥Î®æ¦¡

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



µù¥U®É¶¡: 2003-03-12
¤å³¹: 1698
¨Ó¦Û: tunglo

²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤» ¥|¤ë 12, 2003 2:30 pm    ¤å³¹¥DÃD: WIN32 API¨ç¼Æªº¨Ï¥Î®æ¦¡ ¤Þ¨¥¦^ÂÐ

VFP¤¤¹ïWIN32 API¨ç¼Æªº¨Ï¥Î®æ¦¡
¡@

ý¿ý¿¦b§Q¥ÎVFP½sµ{®É¡A¸g±`·|¥Î¨ìWIN32API¨ç¼Æ¨Ó¹ïVFPªº¥\¯à¶i¦æÂX®i¡A¨Ò¦p¹ïµù¥Uªí¶i¦æ¾Þ§@¡BÀò¨ú¨t²Î¸ê°Tµ¥¡A¦ý¬O¥Ñ©óWIN32API¨ç¼Æ¿í´`ªº¬OC++ªº¸ê®Æµ²ºc¡A¦bÀ³¥Î®É»PVFPªº¸ê®Æ®æ¦¡¦³©Ò°Ï§O¡A¦]¦¹¦b½Õ¥Î®É®e©ö産¥Í°ÝÃD¡A²{±N¦³Ãö½Õ¥Î¤è¦¡¸Ô¸Ñ¦p¤U¡G
ý¿ý¿VFP¤¤½Õ¥ÎWIN32APIªº¥D­n¨ç¼Æ¬O¡GDECLARE - DLL
ý¿ý¿¥¦¬Oµù¥U¥~³¡ Windows 32 ¦ì°ÊºA³sµ²µ{¦¡®w ( .DLL ) ¤¤ªº¤@­Ó¨ç¼Æ¡C
»yªk¡G DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName] [cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]
°Ñ¼Æ¡G
cFunctionType ªí©ú 32 ¦ì Windows .DLL ¨ç¼Æ¬O§_¦³ªð¦^­È¡C¦pªG¨ç¼Æ¦³ªð¦^­È¡A«h¥]§t cFunctionType ¡A§_«h¬Ù²¤ cFunctionType¡C
cFunctionType ¥i¥H¬O¥H¤U­È¡G

cFunctionTypeý¿ý¿ý¿ý¿ý¿ý¿ý¿»¡©ú
SHORTý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿16 ¦ì¤¸¾ã¼Æ
INTEGERý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿32 ¦ì¤¸¾ã¼Æ
SINGLEý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ 32 ¦ì¯BÂI¼Æ
DOUBLEý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ 64 ¦ì¯BÂI¼Æ
STRINGý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ý¿ ¦r¦ê
FunctionName «ü©w¦b Visual FoxPro ¤¤­nµù¥Uªº 32 ¦ì Windows .DLL ¨ç¼Æ¦W¡Cª`·N FunctionName °Ï¤À¤j¤p¼g¡C 32 ¦ì Windows .DLL ¨ç¼Æ¦W¥i¥H»P Win32 API ¤â¥U¤¤³W©wªº¤£¦P¡C¨Ò¦p¡AMessagebox ¨ç¼ÆÀ³¸Ó©R¦W爲 MessogeBoxA¡]¹ï©ó³æ¦r¸`¦r¤¸¡^©M MessageBoxW¡]¹ï©ó UNICODE¡^¡C¦pªG Visual FoxPro ¤£¯à©w¦ì FunctionName «ü©wªº 32 ¦ì Windows .DLL ¨ç¼Æ¡A«h±N¦r¥À A °l¥[¨ì¨ç¼Æ¦W§À³¡¡AVisual FoxPro ¥Î·sªº¨ç¼Æ¦W­«·s·j¯Á¡C
¦pªG«ü©wªº 32 ¦ì Windows .DLL ¨ç¼Æ»P¤@­Ó Visual FoxPro ¨ç¼Æ¦P¦W¡A©ÎªÌ¨ç¼Æ¦W¤£¬O¦Xªkªº Visual FoxPro ¨ç¼Æ¦W¡A«h±N 32 ¦ì Windows .DLL ¨ç¼Æ¦W§@爲 FunctionName¡A¨Ã¥Î AS ¤l¥yµ¹¸Ó¨ç¼Æ¨ú¤@­Ó¦Xªkªº Visual FoxPro ¦W¡A³oÂI¦b¥»¥DÃDªº«á­±±N­n»¡©ú¡C
IN LibraryName «ü©w¥~³¡ Windows .DLL ªº¦WºÙ¡A¸Ó°ÊºA³sµ²µ{¦¡®w¥]§t FunctionName «ü©wªº Windows 32 ¦ì .DLL ¨ç¼Æ¡C¦pªG爲 LibraryName «ü©w WIN32API¡A«h Visual FoxPro ´N¦b KERNEL32.DLL¡BGDI32.DLL¡B USER32.DLL¡BMPR.DLL ©M ADVAPI32.DLL ¤¤·j¯Á 32 ¦ì Windows .DLL ¨ç¼Æ¡C

AS AliasName 爲¤@­Ó»P Visual FoxPro ¨ç¼Æ¦P¦W©Î¤£¦Xªkªº Windows 32 ¦ì .DLL ¨ç¼Æ¦W«ü©w§O¦W¡CAliasName ¤£¯à¬O Visual FoxPro ªº«O¯d¦r©Î¤w¸g¥Ñ Visual FoxPro µù¥Uªº Windows 32 ¦ì .DLL ¨ç¼Æ¦W¡C¥i¨Ï¥Î AliasName ¥h½Õ¥Î Windows 32 ¦ì .DLL ¨ç¼Æ¡CAliasName ¤£°Ï¤À¤j¤p¼g¡C

cParameterType1 [@] ParamName1, cParameterType2 [@] ParamName2, ... «ü©w¶Ç»¼µ¹ Windows 32 ¦ì .DLL ¨ç¼Æªº°Ñ¼ÆÃþ«¬¡C
Windows 32 ¦ì .DLL ¨ç¼Æ¥Ñ cParameterType «ü©w»Ý­nªº°Ñ¼ÆÃþ«¬¡CcParameterType ¥i¥H爲¤U¦C¬Y¤@Ãþ«¬¡G

cParameterTypeý¿ý¿ý¿ý¿»¡©ú
INTEGERý¿ý¿ý¿ý¿ý¿ý¿32 ¦ì¤¸¾ã¼Æ
SINGLE ý¿ý¿ý¿ý¿ý¿ý¿32 ¦ì¯BÂI¼Æ
DOUBLE ý¿ý¿ý¿ý¿ý¿ý¿64 ¦ì¯BÂI¼Æ
STRING ý¿ý¿ý¿ý¿ý¿ý¿¦r¦ê
¦pªG°Ñ¼Æ¤£¬O Windows 32 ¦ì .DLL ¨ç¼Æ©Ò»Ý­nÃþ«¬¡AVisual FoxPro 産¥Í¤@­Ó¿ù»~¡CNull ­È¥i¥H§@爲¦r¦ê¶Ç»¼¡C
½Õ¥Î¨ç¼Æ®É¡A­Y«ö¤Þ¥Î¶Ç»¼¤@­Ó°Ñ¼Æ¡A¥²¶·¦b³o±ø©R¥Oªº°Ñ¼Æ cParameterType «á­±¡B¦b½Õ¥Î¨ç¼Æ¬ÛÀ³Åܼƫe­±¥]§t ¢I¡C¦pªG¦b DECLARE ¤¤©Î¦b½Õ¥Î¨ç¼Æ¤¤¨S¦³¥]§t ¢I¡A°Ñ¼Æ´N«ö­È¶Ç»¼¡C¦³Ãö»Ý­n«ö¤Þ¥Î¶Ç»¼°Ñ¼Æªº .DLL ¨ç¼Æªº¸Ô²Ó¤º®e¡A½Ð°Ñ¾\¡mMicrosoft Win32 ½sµ{«ü«n¡n¡C
ªþª`
°Ñ¼Æ¦W ParamName1¡AParamName2 µ¥¬O¥i¿ïªº¡AVisual FoxPro ©Î Windows 32 ¦ì .DLL ¨ç¼Æ¨Ã¤£¨Ï¥Î¥¦­Ì¡A¥¦­Ì¥i¥H§@爲¨ç¼Æ±µ¦¬ªº°Ñ¼Æ¦W©M°Ñ¼ÆÃþ«¬ªº´£¥Ü¡C

»¡©ú ¦b±q Visual FoxPro ½Õ¥Î¤@­Ó 32 ¦ì Windows .DLL ¨ç¼Æ«e¡A¥²¶·µo¥X±a¦³¨ç¼Æ¦W¡B¥]§t¸Ó¨ç¼Æªº Windows .DLL ¦W¥H¤Î¨ç¼Æ±N­n±µ¦¬ªº°Ñ¼ÆÃþ«¬ªº DECLARE ©R¥O¡C
爲¤F´£¨Ñ¦V«á¬Û®e©Ê¡AVisual FoxPro ¤´¤ä´© FOXTOOLS.FLL¡]¥]§t¦b FoxPro ¦­´Áª©¥»¤¤¡^¡A¨Ã¤¹³\½Õ¥Î 16 ¦ì .DLL ¨ç¼Æªº Visual FoxPro API ®w¡C¦b Visual FoxPro ¤¤¡A½Õ¥Î .DLL ¨ç¼Æ®É¨Ï¥Î DECLARE ¬O¥i¨úªº¤èªk¡C
¦³Ãö Windows 32 ¦ì .DLL ¨ç¼Æªº¸Ô²Ó¤º®e¡A½Ð°Ñ¾\¡mMicrosoft Win32 ½sµ{«ü«n¡n¤¤ªº¤åÀÉ¡C
°õ¦æ DISPLAY STATUS ©Î LIST STATUS ¥i¥HÅã¥Üµù¥U¨ç¼Æªº¦WºÙ¡A°õ¦æ CLEAR ALL ©Î CLEAR DLLS ¥i±q°O¾ÐÅ餤§R°£µù¥U¨ç¼Æ¡C

¹ê»ÚÀ³¥Î¤¤ªº´XÂIÅé·|¡G

1¡B¦bAPI¨ç¼Æªº°Ñ¼Æ¤¤ªí©ú¬O¡§//address of¡¨ªº¡A¬Û·í©ó¦bC++ªº«ü¼Ð¦a§}¡A¦bµù¥U®É¡A¤@©w­n°Ñ¼Æ Ãþ«¬«á¡B¦b½Õ¥Î¨ç¼Æ¬ÛÀ³Åܼƫe­±¥]§t ¢I¡A¥Hªí©ú¬O«ö¤Þ¥Î¶Ç»¼¤@­Ó°Ñ¼Æ¡C

2¡B¹ï©óAPI¨ç¼Æªº°Ñ¼Æ¤¤Ãþ«¬爲LPCTSTR©MLPTSTRªº¨ç¼Æ¡A¦bµù¥U®É­n©w¸q爲StringÃþ«¬¡A¨ä¥LÃþ«¬¤@¯ë§¡¥i©w¸q爲IntegerÃþ«¬¡C

3¡B¹ï©óAPI¨ç¼Æªº°Ñ¼Æ爲¤@­Ó¡§µ²ºc¡¨ªº¸Ü¡A¥i©w¸q爲¤@¨¬°÷¤jªºªÅ®æ¦r¦êÅܼơA¦b³q¹L¥[@«ö¤Þ¥Î¨Ó¶Ç»¼³o¤@°Ñ¼Æ¡C
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
±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§@