ÎÒÏëʵÏÖÕâÑùÒ»¸öЧ¹û£º
ÎÒÓÃVC±àдÁ˸öDLL £¬VB µ÷ÓÃÀïÃæµÄÒ»¸öº¯Êý£¬·µ»Ø¸øVBÒ»¸ö×Ö·û´®£¬
ĿǰҪ²»¾ÍÊÇÂÒÂ룬Ҫ²»¾ÍÊDZÀÀ££¡ÎÒ²éÁËÍøÉϺܶà×ÊÁÏ£¬¶¼Ã»Óгɹ¦ £¡
Çë´óϺÃÇ99999ÎÒ°¡ £¡
Àý×ÓÈçÏ£º
VC£º
SQLCE3_DRIVER_API BSTR TestString(LPCTSTR InStr)
{
CString Buf;
Buf = "²âÊÔÓÃÀý";
return Buf.AllocSysString();
}
VB:
Private Declare Function TestString Lib "Sqlce3_Driver.dll" Alias "?TestString@@YAPA_WPB_W@Z" (ByVal strS As String) As String
Dim a As String
a = TestString("Õâ¸ö²ÎÊýûÓÐÒâÒå")
ÊäÈëÒ»¸öÒѾ³õʼ»¯ºÃµÄ×Ö·û´®»º³åÇøµØÖ·,¼°Æä³¤¶È.
È»ºóDLLÀïÏòÄǸö»º³åÇøÐ´ÈëÄÚÈÝ,²¢·µ»ØÊµ¼ÊдÈëµÄ³¤¶È.
²Î¿¼GetComputerNameµÄÓ÷¨.
Äܲ»ÄܰïÎÒд¸öÀý×ÓÄØ £¬ÎÒºÜÉÙÓÃVB¡£Ð»Ð»ÁË ~
SQLCE3_DRIVER_API ÊÇʲô?VCÎÒ²»Êì.
µ«Ò»°ãÊÇÉùÃ÷ΪWINAPI,VBÖ»Ö§³ÖstdCall.
°ÑÀý×ÓÀïµÄBufÄÚÈݸ´ÖƵ½ÊäÈëµÄInStrÖ¸ÕëÀï.
ÔÙ¼Ó¸ö²ÎÊý,´óÔ¼ÈçÏÂ:
C/C++ code:
WINAPI INT TestString(LPCTSTR InStr,int StrLength)
{
CString Buf;
Buf = "²âÊÔÓÃÀý";
memcpy instr,&buf,sizeof(buf); 'ÕâÀïÒª¸´ÖÆ,Óï·¨²»ÖªµÀ¶Ô²»¶Ô
return sizeof(buf);
}
VB˕̾:
ÏëÔÚwarcraft3Àï½øÐÐдÆÁ²Ù×÷¡¾Èç¶Ôսƽ̨ÖеÄʤ¸ºÌáʾÐÅÏ¢¡¿£¬Ð§¹û¾ÍÏñÓÎϷƽ̨ÖÐÒ»Ñù£¬ÎÒÊÔ¹ýÔÚÒ»´°¿ÚÖÐдÈëÎÄ×Ö£¬È»ºóÒ»Ö±Èô°¿ÚÇ¿ÖÆ×îǰ£¬ËäÈ»ÄÜʵÏÖÎÄ×ÖÏÔʾ£¬µ«ÊÇÎÄ×ֻ᲻¶ÏÉÁ˸£¬¶øÇÒÓв»È·¶¨BUG£¬Í¨¹ýÂÛ̳ËÑ ......
ÔÚÏÂÊÇvbµÄÐÂÊÖ£¬Ïëд¶Î³ÌÐò£¬ÔÚvbÖУ¬Ê¹ÓÃwscriptµ÷ÓÃһЩÍⲿµÄÃüÁµ«ÊdzÌÐòÖ´ÐÐÒ»Ö±ÓдíÎó£¬Çë¸÷λ¸ßÊÖ°ïæ½â´ðÏ£¬Ð»Ð»¡£
´úÂëÈçÏ£º
VB code:
Private Function getFile_CMD(filename, filepath) As Bo ......