|
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¸ü.
|
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD |
µoªí¤H |
¤º®e |
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 1 ¼Ó
|
µ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 ( 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¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 2 ¼Ó
|
µ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¤@©wnª`·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¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 3 ¼Ó
|
|
¦^³»ºÝ |
|
|
lukehiung
µù¥U®É¶¡: 2003-09-03 ¤å³¹: 6
²Ä 4 ¼Ó
|
µ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)
ÁÂÁÂ |
|
¦^³»ºÝ |
|
|
|
|
±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§@
|