  | 
				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§@ 
		 |