VB µ÷Óà vc ±àдµÄdll - C/C++ / C++ ÓïÑÔ
ÓÃvc±àдµÄdllÔÚdebugģʽºÍreleaseģʽÏÂÆô¶¯vbµÄexe³ÌÐòµ÷ÓÃvcµÄdll¿ÉÒԵõ½ÕýÈ·½á¹û£¬µ«ÊÇÈç¹ûÖ±½ÓË«»÷vbµÄexe³ÌÐòµ÷ÓÃdll±¨´í£¬ÔÚdllÄÚ²¿Ìí¼Ómessageboxºó·¢ÏÖÖ»ÒªÔÚº¯ÊýÄÚ²¿ÉùÃ÷std::stringÀàÐ͵ıäÁ¿¾Í»á³öÏÖÄÚ´æ·ÃÎʳåÍ»µÄÎÊÌ⣬ÇëÎÊÓÐûÓÐÈËÓöµ½¹ý£¬¿ª·¢»·¾³vs2008+win2008
Windows APIÀàµÄ±à³Ì£¬Ñϸñ½ûֹʹÓÃSTL
Ϊʲô£¿ÎÒ²»´ò¿Úˮս£¬ÌýÎÒµÄû´í
dllÄÚ²¿´óÌåÊÇÕâÑùµÄ
std::string test()
{
std::string t="sdfs";
return t;
}
extern "C" int __stdcall GetP(WCHAR* username)
{
std::string result=test();
swprintf(username,L"%s",result.c_str());
}
ÿµ±Ö´Ðе½testº¯ÊýÄÚ²¿·ÖÅä±äÁ¿µÄʱºò¾Í¿ªÊ¼±¨´í
±ðµÄ²»Ëµ£¬¹âÆÕͨ×Ö·û¸ñʽ»¯¸ø¿í×Ö·û¾ÍºÜ¶ñ¸ã£¬STLºÍWindows SDK×î´óµÄÇø±ð¾ÍÊÇ×Ö·û±íʾ£¬SDKÓúê×Ô¶¯Åж¨£¬STLÐèÒªÏÔʾָ¶¨wstring¡£
½¨ÒéÄúҪô¶¯Ì¬·ÖÅä×Ö·ûÖ¸Õ룬»òÕßÄþ¿É¹ÒÉÏATL¿âÓÃCString£¬×Ö·ûÖ¸ÕëÓÃTCHAR*£¬Ò²±ðSTL£¬VBµÄʵÏÖÊÇÓÃWindows SDKµÄ£¬ÓÃSTLÊǸöÒþ»¼
ÔÚ±àÒë»·¾³ÏÂÄÜÕýÈ·ÔËÐжøÖ±½ÓË«»÷²»ÄÜÔËÐÐ?
Â¥Ö÷ÄÜ·ñ´òÒ»ÏÂtrace
È·ÈÏÒ»ÏÂÊÇ·ñÕæµÄ½
Ïà¹ØÎÊ´ð£º
ÔÚÏÂÊÇvbµÄÐÂÊÖ£¬Ïëд¶Î³ÌÐò£¬ÔÚvbÖУ¬Ê¹ÓÃwscriptµ÷ÓÃһЩÍⲿµÄÃüÁµ«ÊdzÌÐòÖ´ÐÐÒ»Ö±ÓдíÎó£¬Çë¸÷λ¸ßÊÖ°ïæ½â´ðÏ£¬Ð»Ð»¡£
´úÂëÈçÏ£º
VB code:
Private Function getFile_CMD(filename, filepath) As Bo ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......
´ó¼ÒºÃ£º
ÎÒÏëʵÏÖ¼ì²âµ½²åÈëSD¿¨ºó×Ô¶¯½«SD¿¨¸ñʽ»¯µÄ¹¦ÄÜ£¬²»ÖªC/C++ÖÐÓÐûÓиñʽ»¯UÅ̵ĺ¯Êý£¿
ÁíÍ⣬ÎÒ²»ÏëʹÓÃSHFormatDrive£¬ÒòΪÕâ¸öº¯Êý»áµ¯³öÊÇ·ñÒª¸ñʽ»¯µÄÌáʾ¿ò£¬ÎÒÐèÒªµÄÊÇϵͳ×Ô¶¯¸ñʽ»¯£¬¶ø²Ù×÷Õß² ......