delphi動態調ÓÃdllµÄÀ§»ó
procedure RunFunction;
type
TFunc = function(A: Integer): Integer;stdcall;¡¡//ÕâÀï¸ù¾ÝDLLÀïÃæº¯ÊýµÄÉùÃ÷ÐÞ¸Ä
var
sFunc: TFunc;
HInst: THandle;
begin
HInst := SafeLoadLibrary('ÎÒµÄDLLµÄÃû³Æ.DLL');
if HInst > 0 then
{ try
sFunc:=GetProcAddress(HInst,PChar('FunctionA'));
//這個sFuncÇ°Ãæ沒ÓÐÈ¡µØÖ··û號@
ShowMessage(IntToStr(sFunc(123)));
finally
FreeLibrary(HInst);
end; }
//ÏÂÃæµÄ調Ó÷½Ê½ºÃÏñÒ²¿ÉÒÔ£¬²»ÖªµÀÔõôÀí½â£¿£¿
try
@sFunc:=GetProcAddress(HInst,PChar('FunctionA'));
//這個@sFunc,Ç°ÃæÓÐ個È¡µØÖ··û號@£¬ÔõôÀí½â
ShowMessage(IntToStr(sFunc(123)));
finally
FreeLibrary(HInst);
end;
end;
{ try
sFunc:=GetProcAddress(HInst,PChar('FunctionA'));
//這個sFuncÇ°Ãæ沒ÓÐÈ¡µØÖ··û號@
ShowMessage(IntToStr(sF
Ïà¹ØÎÊ´ð£º
Õâ¸öÊÇÀ¹½Ø°´¼üÏûÏ¢²¢²âÊÔÊÇ·ñΪENTER¼ü¡£
begin
case wParam of
WM_KEYDOWN:
fEatKeystroke := (p.vkCode = VK_RETURN);
& ......
ÕâÓïÑÔºÃÄѰ¡ ѧdelphi¼òµ¥ ¿Þ
Ò»¸ödll ºÍÒ»¸ö Ö¸Õ뺯Êýµ÷Óà ¸ãÁËÎÒ2Àñ°Ý »¹ÊÇÔÚÎÒÓÐdelphi»ù´¡µÄÇé¿öÏ ¿Þ
ÄÑ¶È ±È delphi ¸ßºÜ¶à¡£¼ÌÐøÅ¬Á¦Ñ§°¡¡£
ºÃÏñÒ²²¢²»±ÈdelphiÄѶàÉÙ°É
Ö÷Òª´úÂë ²»Ö±¹ÛÁË¡ ......
delphi Òì²½Ïß³ÌÔõôÔõôʵÏÖ£¿
Çë¸÷λ´óÀаïæ£¡
×îºÃÓиöʵÀý£¡
¶àл
Ä㲻ͬ²½¾ÍÊÇÒì²½ÁË,»¹Ð´É¶
ĬÈÏÇé¿öÏ£¬Ï߳̾ÍÊÇÒì²½µÄ¡¡¡¡*^_^*
¹À¼ÆÂ¥Ö÷ͬ²½ºÍÒì²½¸ÅÄûŪÇå
ÕæÎÞÓï¡£¡£¿É ......
Çë½Ì¸÷·¸ßÊÖ¡£ÎäÁÖǰ±²¡£ÎÒ½«B.EXE×ö³É×ÊÔ´Îļþ£¬È»ºó¼Óµ½123.dllÖС£ÓÃA.EXEÀ´µ÷ÓÃ123.dllÖеÄB.EXE
Çë¸÷λǰ±²°ïæָ½ÌÏ¡£A.exeÈçºÎÀ´µ÷ÓÃdllÖеÄexe£¿´úÂëÓÖ¸ÃÈçºÎд£¿
ÏȰÑb.exe»¹Ô³öÀ´ÔÚµ÷Óã¬Ó¦¸ÃÊÇ× ......