ÔÚJavaScript µ÷ÓÃC++
·½°¸Ò»£º
// html & JavaScript
...
<button value="Click me"
onclick="window.navigate('app:command&arg1=1&arg2=2')" />
...
// C++: ÏìÓ¦ µÄÏûÏ¢º¯ÊýOnBeforeNavigat2
virtual void OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel );
// C++ code goes here
CXXXDlg::OnBeforeNavigate2( LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName,
CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel )
{
CString strUrl = lpszURL;
if(strUrl.Left(4) == _T("app:"))
{
// cancel the common url navigate and call your c++ code here
*pbCancel = TURE;
// call other c++ function here or parse the argument in the strUrl
}
// go common url navigate here
}
·½°¸¶þ£º
// html & javaScript
...
function CallCpp()
{
alert('start to call cpp here');
window.external.JavaScriptCallCpp('This
is a test for call C++ in JavaScript');
}
<button onclick="CallCpp()"
>JavaScript·ÃÎÊC++´úÂë</button>
...
// C++ code goes here
CString javaScriptName =
_T("JavaScriptCallCpp");
#define DISPID_CallCppfromJs 1
// ʵÏÖIDispatch ½Ó¿Ú
// .h
class CImpIDispatch : public IDispatch
{
protected:
ULONG m_cRef;
public:
CImpIDispatch(void);
~CImpIDispatch(void);
STDMETHODIMP QueryInterface(REFIID, void **);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//IDispatch
STDMETHODIMP GetTypeInfoCount(UINT* pctinfo);
STDMETHODIMP GetTypeInfo(/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo** ppTInfo);
STDMETHODIMP GetIDsOfNames(
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
Ïà¹ØÎĵµ£º
µÚ3Õ ÔõÑù²ÅÄܸßЧÂʲâÊÔ
3.1 ËÆÊǶø·ÇµÄ¸ßЧÂÊ
ÕâÒ»½Ú³ÎÇåһЩÁ÷ÐеÄÎó½â»òÎóµ¼£¬Ò»Ð©¿´ÆðÀ´ºÜ²»´íµÄ¸ßЧÂÊ£¬Êµ¼ÊÉÏÊÇËÆÊǶø·ÇµÄ¡£
È«×Ô¶¯Éú³ÉÓÃÀý
È«×Ô¶¯Éú³ÉÓÃÀýÊÇËùÓвâÊÔÈËÔ±µÄÆÚÅΣ¬ºÃÏûÏ¢ÊÇ£¬ÕâÊÇÒ»ÖÖ¼òµ¥µÄ¼¼Êõ£¬Ê®Äêǰ¾ÍÓÐÁË£¬»µÏûÏ¢ÊÇ£¬ÕâÖÖ¼¼Êõ×÷ÓúÜС¡£
......
º¯ÊýÊdzÌÐòµÄÖ´ÐÐÄ£¿é£¬ÊÇÕû¸öÏîÄ¿µÄϸ°û£¬ÈçºÎ×éÖ¯ºÃÿһ¸öº¯ÊýµÄ½á¹¹£¬ÈçºÎÌá¸ß³ÌÐòµÄ¿É¶ÁÐÔºÍÔËÐÐЧÂÊ£¬ÊdzÌÐòÔ±ÃDz»¶ÏƷζµÄÖ÷Ìå¡£ÓÐʱº¯ÊýµÄÉè¼ÆÄÜÖ±½ÓÌåÏÖ³ö³ÌÐòÔ±¶ÔC/C++µÄÀí½âºÍ¸ÐÎò¡£
C/C++µÄº¯ÊýÀàÐͲ»¶ÔÍâºõÒÔϼ¸ÖÖ£¬ÓÐЩÃèÊö¿ÉÄܲ»Ì«ÌùÇУº
......
1¡¢Xerces-C++ÊÇʲô£¿
Xerces-C++ µÄǰÉíÊÇ IBM µÄ XML4C ÏîÄ¿¡£XML4C ºÍ XML4J ÊÇÁ½¸ö²¢ÁеÄÏîÄ¿£¬¶ø XML4J ÊÇ Xerces-J——Java ʵÏÖ——µÄǰÉí¡£IBM ½«ÕâÁ½¸öÏîÄ¿µÄÔ´´úÂëÈÃÓë Apache Èí¼þ»ù½ð»á(Apache Software Foundation)£¬ËûÃǽ«Æä·Ö±ð¸ÄÃûΪ Xerces-C++ º ......
—¡ï—ÅàѵÖÜÆÚ£º¹²950ѧʱ 5¸öÔÂ
—¡ï—Åàѵ¸½Ôù£º±£Ö¤Ñ§Ô±ÈËÊÖÒ»»úºÍÒ»Ì×ARM9¿ª·¢°å
—¡ï—ÅàѵÄÚÈÝ£ºÔÚÏîÄ¿¾ÀíµÄ´øÁìÏ£¬Í¨¹ýÍê³É¾ÖÍøµÄÂ齫ÓÎÏ·¡¢My ICQ(ÍøÂçÁÄÌì)ºÍ·¢µç»úÔÚÏß¼à¿ØÏµÍ³£¬BTÏÂÔØÈí¼þ£¬ÕÆÎÕ»ùÓÚLinuxºÍWindowsƽ̨ϵÄC/C++ÆóÒµ¼¶Ó¦ÓõĿª·¢¼¼ÄÜ£¬ÕÆÎÕ´óÐÍÈí¼þÏî ......
http://blog.csdn.net/tonyxiaohome/archive/2010/04/27/5536367.aspx
ÎÒ¿´ÁËÒÔºóÎÒҲ˵¼¸¾ä£¬ËãÎÒÔÚITÐÐÒµ´òƴһЩ¾Ñé¡£
Ê×ÏÈÕâ¸ö»°ÌâʵÔÚÊÇÌ«´óÁË¡£
C++ °üÀ¨C²»£¿
Æ»¹û¡¢Ò»Ð©Èí¼þ ±ÈÈçMysql£¬sqlite ¶¼ÊÇÄ£¿é»¯ÎªÖ÷
»ù±¾¾ÍÊÇCÓïÑÔ¡£
Ê×ÏÈÎÒ²»ÈÏͬ C++°üÀ¨C¡£
Õâ¸ö»°Ìâ ¾ÍÓÐÎÊÌâ¡£
ÎÒÃǸĸĿ´ ......