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

¦p¦ó¦w¸Ë°ÊºA³sµ²ÀÉDLL?

 
µ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´Á¤T ¤K¤ë 06, 2003 11:31 am    ¤å³¹¥DÃD: ¦p¦ó¦w¸Ë°ÊºA³sµ²ÀÉDLL? ¤Þ¨¥¦^ÂÐ

DllInstall


Handles installation and setup for a dynamic-link library (DLL).


Declaration:


HRESULT DllInstall(
BOOL bInstall,
LPCWSTR pszCmdLine
);



FoxPro declaration:


DECLARE INTEGER DllInstall IN shlwapi;
INTEGER bInstall,;
STRING pszCmdLine




Parameters:

bInstall
Value that is set to TRUE if the DLL is being installed, or FALSE if it is being uninstalled.

pszCmdLine
String passed in by regsvr32 that indicates which setup procedure to use.



Return value:

Returns NOERROR (0) if successful, or an OLE-defined error value otherwise.


My comment:

Minimum operating systems: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98.

To use DllInstall with regsvr32, add a "/i" flag followed by a colon (Smile and a string. The string will be passed to DllInstall as the pszCmdLine parameter. If you omit the colon and string, pszCmdLine will be set to NULL. The following example would be used to install a DLL:

regsvr32 /i:"Install_1" dllname.dll

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Ruey



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

²Ä 2 ¼Ó

µoªíµoªí©ó: ¬P´Á¤T ¤K¤ë 13, 2003 10:52 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¦g¹ê½×¾Â**®ç·½¯¸»O** (Âà¶K)


¡@¡@¨Ï¥ÎActiveX±±¨î¶µ¥i§Ö³t¹ê²{¤p«¬ªº²Õ¥ó­«¥Î¡B¥N½X¦@¥Î¡A±q¦Ó´£°ª½sµ{®Ä²v¡A­°§C¶}µo¦¨¥»¡C¦ý¬OActiveX±±¨î¶µ¹ï©ó³Ì²×¥Î¤á¨Ã¤£¯àª½±µ¨Ï¥Î¡A¦]¬°ActiveX±±¨î¶µ¥²¶·¥ý¦bWindows¤¤µù¥U¡Cµù¥UActiveX±±¨î¶µ¤@¯ë¨Ó»¡¦³¤»ºØ³~®|¡A¥¦­Ì¦³¦U¦ÛªºÀuÂI¡A¹B¥Î½d³ò¤]¤£¦P¡C
¡@¡@Regsvr32.exeµù¥U

¡@¡@Regsvr32.exe¦ì©óWindows¥Ø¿ýªºsystem¤l¥Ø¿ý¤U¡CÂIÀ»Windowsªº¡§¶}©l¡÷¹B¦æ¡¨¥\¯àªí¡A¦b¹ï¸Ü¤è¶ô¤¤¿é¤J¥H¤U©R¥O¡G
¡@¡@regsvr32 netshare.ocx &&µù¥Unetshare.ocx±±¨î¶µ
¡@¡@regsvr32 /u netshare.ocx &&¸Ñ°£netshare.ocx±±¨î¶µªºµù¥U
¡@¡@¦pªGnetshare.ocxÀɤ£¦bsystem¥Ø¿ý®É¡AÁÙ¥²¶·¦bÀɮצW«e¥[¤W§¹¾ãªº¸ô®|¡C°£¤Fregsvr32À³¥Îµ{¦¡¤§¥~¡AMicrosoft¦b¥¦ªºWeb¯¸ÂI¤WÁÙ´£¨Ñ¤F¤@­ÓºÙ¬°regclean.exeªºµ{¦¡¡A¥i¥HÀˬdµù¥Uªí¨Ã¥h±¼¥á¥¢ªº¤¸¥ó¦bµù¥Uªí¤¤ªº±ø¥Ø¡Cregclean.exe°£¤F¥i¥H§R°£¡§Äa±¾¡¨ªº±ø¥Ø¡A¥¦ÁÙ´£¨Ñ¤@­Ó¡§undo¡¨ÀÉÀ°§U«ì´_¿ù»~ªº§R°£¡C
¡@¡@ª×Às¶Ç»¡´£¿ô¡G¥Îregsvr32.exeµù¥UActiveX±±¨î¶µÁöµM²³æ¡A¦ý»Ý­n¥Î¤á¤â¤u¶i¦æµù¥U¡A¦b¤£¥Î®ÉÁٻݤâ¤u¸Ñ°£µù¥U¡C
¡@¡@VFPÀô¹Òµù¥U
¡@¡@¦b§Ú­Ì¶i¦æµ{¦¡³]­p®É¡AVFP¥»¨­´£¨Ñ¤@­Óµù¥UActiveX±±¨î¶µªº¤èªk¡C
¡@¡@¶i¤JVFPÀô¹Ò¡A¿ï¾Ü¡§¤u¨ã¡÷¿ï¶µ¡¨¥\¯àªí¡AÂIÀ»¡§±±¨î¶µ¡¨­¶¡A¿ï¤¤¡§ActiveX±±¨î¶µ¡¨³æ¿ï«ö¶s¡A¦b¦Cªí®ØùØÅã¥Ü©Ò¦³¤w¸gµù¥UªºActiveX±±¨î¶µ¡A³o®É¡AÂIÀ»¥kÃ䪺¡§²K¥[¡¨«ö¶s¡A¿ï¾Ü»Ý­nµù¥UªºActiveX±±¨î¶µÀÉ¡A¡§½T©w¡¨«á§¹¦¨µù¥U¡C¤]¥i¥H¦bªí³æ³]­p¾¹ªºªí³æ±±¨î¶µ¤u¨ãÄæùØ©ì°Ê¡§OLE¡¨«ö¶s¨ìªí³æ¡A¦b¼u¥Xªº¿ï¾Ü®Øùؿ襤¡§´¡¤J±±¨î¶µ¡¨³æ¿ï¶s¡A¦P¼ËÂIÀ»¥kÃ䪺¡§²K¥[±±¨î¶µ¡¨«ö¶s¡A¨Ó§¹¦¨·s±±¨î¶µªºµù¥U¡C
¡@¡@ª×Às¶Ç»¡´£¿ô¡G¥»¤èªk¶È¾A¦Xµ{¦¡®v¦b³]­pµ{¦¡¹Lµ{¤¤¤â¤u¶i¦æ¡A¹ï¥Î¤á¦Ó¨¥¡A¨Ã¨S¦³¹ê²{¦b¥»¦a¾÷¤W¦Û°Êµù¥U¡C
¡@¡@¦w¸Ëµ{¦¡µù¥U
¡@¡@¤j«¬À³¥Î³nÅé¤@¯ë³£¦³¤@­Ó¦w¸Ëµ{¦¡¡A¦b¦w¸Ëµ{¦¡¤¤¸Ñ¨MActiveX±±¨î¶µªºµù¥U¬O¸û¬°²z·Qªº¤@ºØ¤è®×¡C
¡@¡@¦b¥Î¤á°õ¦æ¦w¸Ëµ{¦¡®É¡A³o¨ÇActiveX±±¨î¶µ±N¦Û°Ê¦b¥Î¤á¾÷¾¹¤W¦w¸Ë¨Ãµù¥U¡C
¡@¡@VFP7.0¥úºÐ©Ò±aªºInstallShield¬O¥Ø«e¸û¬°¬y¦æªº»s§@¦w¸Ëµ{¦¡ªº¤u¨ã¡A¨Ï¥Î¥¦¥i¥H»s§@¥X±M·~¯ÅªºSetup¦w¸Ëµ{¦¡¡AÁÙ¥i¥Hµù¥UÀ³¥Îµ{¦¡¨Ï¥Î¨ìªºActiveX±±¨î¶µ¡C¦Ó¥B¡A¦b¥H«á¨Ï¥Î±±¨î­±ªOªº¡§²K¥[/§R°£µ{¦¡¡¨¨ø¸ü¸Ó³nÅé®É¡A¦w¸Ëµ{¦¡·|¦Û°Êµn¥X±¼¥H«eµù¥UªºActiveX±±¨î¶µ¡C
¡@¡@¥[¤J¥N½Xµù¥U
¡@¡@­º¥ý¡A©w¸q¤@­Óµù¥U±±¨î¶µªº¨ç¼Æ¡G
¡@¡@Function MyRegsvr ( lpcRegFilename, lplIsreg )
¡@¡@If File(lpcRegFilename)
¡@¡@lpcRegFilename = iif(llisreg, lpcRegFilename, [ /u ] + lpcRegFilename)
¡@¡@Run /n regsvr32 &&lpcRegFilename
¡@¡@Endif
¡@¡@Return
¡@¡@Endfunc
¡@¡@µM«á´N¥i¥H³q¹L¥H¤U»y¥y¨Ó½Õ¥Î¸Ó¨ç¼Æ¡A¨Ã§¹¦¨ActiveX±±¨î¶µªºµù¥U¤F(ª×Às¶Ç»¡´£¿ô¡G¤@©w­nª`·N±±¨î¶µÀɪº¸ô®|®@)¡C
¡@¡@= MyRegsvr( "netshare.ocx", .T.) &&µù¥Unetshare.ocx±±¨î¶µ
¡@¡@= MyRegsvr( "netshare.ocx", .F.) &&¸Ñ°£netshare.ocx±±¨î¶µªºµù¥U
¡@¡@µù¥U¨ç¼Æµù¥U
¡@¡@¤W­±´£¨ì¹B¦æregsvr32.exeÀ³¥Îµ{¦¡±N¼u¥Xµù¥U¬O§_¦¨¥\ªº¹ï¸Ü¤è¶ô¡Aª`·N¬Ý¤º®e¡§DllRegisterServer in netshare.ocx succeeded¡¨©Î¡§UnDllregisterServer...¡¨¡A¨ä¹ê¡A³q±`¨C­Ó¥i¥ÎªºActiveX±±¨î¶µ³£¦³DllRegisterServer¡BUnDllregisterServer³o¨â­Ó¦Ûµù¥U¨ç¼Æ¥]§t¦b¨ä¤¤¡A§Ú­Ì¥i¥H¥Î©w¸qAPI¨ç¼Æªº¤èªk(Declare <¨ç¼Æ¦W> in <ÀɮצW> ... )¨Ó©w¸q¥¦¡AµM«áª½±µ¨Ï¥Î¸Ó¨ç¼Æ¨Ó¶i¦æµù¥U©M¤Ïµù¥U¡C
¡@¡@¦P¼Ë¡A§Ú­Ì¥ý¦Û©w¸q¤@­Óµù¥U¨ç¼Æ(ª×Às¶Ç»¡´£¿ô¡G½Ðª`·NDllRegisterServer¡BUnDllregisterServerªº¤j¤p¼g)¡G
¡@¡@Function DllRegister (lpLibFileName,isReg)
¡@¡@isReg = iif(type("isReg")="U", .T., isReg)
¡@¡@lpProcName = iif(isReg, "DllRegisterServer", "DllUnregisterServer" )
¡@¡@Declare INTEGER (lpProcName) in (lpLibFileName)
¡@¡@return &&lpProcName.()
¡@¡@Endfunc
¡@¡@µM«á¡A´N¥i¥H³q¹L¸Ó¨ç¼Æ¨Ó§¹¦¨ActiveX±±¨î¶µªºµù¥U¤F¡C
¡@¡@= DllRegister( "netshare.ocx", .T.) &&µù¥U¡Aªð¦^0ªí¥Ü¦¨¥\
¡@¡@= DllRegister( "netshare.ocx", .F.) &&µù¾P¡Aªð¦^0ªí¥Ü¦¨¥\
¡@¡@Clear Dlls
¡@¡@¸Õ¸Õ¡A¬O¤£¬O¨S¦³¤F¼u¥X®Øªº·Ð´o¡I
¡@¡@ª×Às¶Ç»¡´£¿ô¡G¸Ó¤èªk¨S¦³¹ïActiveX±±¨î¶µÀɪºÅçÃÒ¡A°²¦p¸Ó±±¨î¶µ¨S¦³¦³®ÄªºDllRegisterServer¥\¯à(§Y¤£¨ã¦³¦Ûµù¥U¥\¯à)¡A¤]´N§ä¤£¨ì¥H¤Wªº¨â­ÓAPI¨ç¼Æ¡A·Ó¼Ë·|¦³¿ù»~¸ê°T¼u¥X¡C



¡@¡@
API¨ç¼Æµù¥U---¥¿½T¤èªk
¡@¡@¦¹¤èªkªº³]­p«ä¸ô¬O¡G¥ý±NActiveX±±¨î¶µ¸ü¤J°O¾ÐÅé¡AµM«áÅçÃҨ䦳®Ä©Ê¡A³Ì«áª½±µ¦b°O¾ÐÅé¦ì§}¤¤°õ¦æ¨äµù¥U¨ç¼Æ(DllRegisterServer¡BUnDllregisterServer)¡C¨ä½sµ{¤èªk¬O¡G
¡@¡@1¡B¨Ï¥ÎWindows API¨ç¼ÆLoadLibrary¸ü¤JActiveX±±¨î¶µ¡F
¡@¡@2¡B¨Ï¥ÎGetProcAddress¨ç¼ÆÀò¨úActiveX±±¨î¶µ¤¤µù¥U¨ç¼ÆDllRegisterServer(µn¥X¨ç¼Æ¬°DllUnregisterserver)«ü¼Ð¡F
¡@¡@3¡B¨Ï¥ÎCallWindowProc¨ç¼Æ°õ¦æ¤w¸ü¤J°O¾ÐÅ骺ActiveX±±¨î¶µµù¥U¨ç¼Æ(DllRegisterServer¡BUnDllregisterServer)¡C
¡@¡@¤W­±©Ò­zªºActiveX±±¨î¶µµù¥U¤èªk¦U¦³¯SÂI¡C¸g¹ê»Ú¨Ï¥Î¡A®ÄªG¨}¦n¡C±z¥i®Ú¾Ú¹ê»Ú±¡ªpÆF¬¡¿ï¥Î¡C
----------------------------------------------

¦g¹ê½×¾Â**®ç·½¯¸»O**

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Ruey



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

²Ä 3 ¼Ó

µoªíµoªí©ó: ¬P´Á¤» ¤T¤ë 13, 2004 9:25 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¨Ó·½:Delphi K.TOP
OCXÀÉ®× µù¥U»P¤Ïµù¥U ¤u¨ã
http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=44648

¥]§tµ{¦¡½X³£¥i¥H¦b³o§ä¨ì!!

_________________
#############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~­ì¨Ó©¯ºÖ¨º»ò²³æ!!

¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
#############################
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
lukehiung



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


²Ä 4 ¼Ó

µoªíµoªí©ó: ¬P´Á¤G ¤K¤ë 30, 2005 10:43 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

½Ð°ÝÃD¤@­Ó¬ÛÃö°ÝÃD, ¦pªG¨t²Î¦A¨Ï¥Î¬Y­Ó DLL ÀÉ, ¬O§_¦³¤èªk¥i¥H²×¤î¥L
(·í¨Ï¥Î regsvr32 µù¥U)

ÁÂÁÂ
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ µo°e¹q¤l¶l¥ó
±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§@