ÔÚC++ÖÐÓÃWebBrowser¿Ø¼þµ÷ÓÃJavaScriptº¯Êý
Ö÷Òªº¯Êý CallJScript
BOOL CallJScript(const wchar_t * func, VARIANT * vtParams, int cNumberOfParam, VARIANT * vtResult)
{
if(!func || !func[0])
return FALSE;
CComPtr<IDispatch> spScript;
spScript = GetJScript();
if(!spScript)
return FALSE;
DISPID dispID = NULL;
CComBSTR bstrFunc(func);
HRESULT hr = spScript->GetIDsOfNames(IID_NULL, &bstrFunc, 1, LOCALE_SYSTEM_DEFAULT, &dispID);
if(FAILED(hr))
return FALSE;
DISPPARAMS dispParams = {0};
dispParams.cArgs = cNumberOfParam;
dispParams.rgvarg = new VARIANT[cNumberOfParam];
for(int i = 0; i < cNumberOfParam; ++i)
{
VariantInit(&dispParams.rgvarg[i]);
VariantCopy(&dispParams.rgvarg[i], &vtParams[cNumberOfParam - 1 - i]);
}
hr = spScript->Invoke(dispID, IID_NULL, 0, DISPATCH_METHOD, &dispParams, vtResult, NULL, NULL);
delete [] dispParams.rgvarg;
if(FAILED(hr))
return FALSE;
return TRUE;
}
ÆäËüº¯Êý
IHTMLDocument2 * GetIDocument2()
{
if(!m_pWebBrowser2) return NULL;
IDispatch *pIDispatch = NULL;
if (SUCCEEDED(m_pWebBrowser2->get_Document(&pIDispatch)) && pIDispatch)
{
IHTMLDocument2 *pIDocument2 = NULL;
if (SUCCEEDED(pIDispatch->QueryInterface(IID_IHTMLDocument2, (void**)&pIDocument2)))
{
pIDispatch->Release();
return pIDocument2;
}
pIDispatch->Release();
}
return NULL;
}
IDispatch * GetJScript()
{
CComPtr<IHTMLDocument2> doc;
doc = GetIDocument2();
if(!doc)
return NULL;
IDispatch * dsScript = NULL;
HRESULT hr = doc->get_Script(&dsScript);
if(SUCCEEDED(hr) && dsScript)
return dsScript;
else
return NULL;
}
Ïà¹ØÎĵµ£º
Ò»¡£eclipse ÅäÖÃspket
spketÊÇÒ»¸öдJSµÄ²å¼þ
ÎÒµÄÅäÖû·¾³ÊÇ
eclipse3.2
spket-1.6.11.jar
1.°²×°spket-1.6.11.jar,
°Ñspket°ü¿½±´µ½Ò»¸öÄãÄܼǵÄסµÄĿ¼ÏÂ,ÎÒÕâ·ÅÔÚe:¸ùĿ¼ÏÂ
½Ó׎øÈëDOSÏÂ,½øÈëd:¸ùĿ¼,ÊäÈëJAVA -jar spket-1.6.11.jarÃüÁî
Ö®ºó»áÌáʾÄã°²×°spket,°´×ÅËûÌáʾµÄÒ»Ö±ÏÂÒ»²½,Öмä»áÌáÊ¾Ä ......
Ŀ¼:
1:js ×Ö·û´®³¤¶ÈÏÞÖÆ¡¢ÅжÏ×Ö·û³¤¶È ¡¢jsÏÞÖÆÊäÈë¡¢ÏÞÖÆ²»ÄÜÊäÈë¡¢textarea ³¤¶ÈÏÞÖÆ
2.:jsÅжϺº×Ö¡¢ÅжÏÊÇ·ñºº×Ö ¡¢Ö»ÄÜÊäÈ뺺×Ö
3:jsÅжÏÊÇ·ñÊäÈëÓ¢ÎÄ¡¢Ö»ÄÜÊäÈëÓ¢ÎÄ
4:jsÖ»ÄÜÊäÈëÊý×Ö,ÅжÏÊý×Ö¡¢ÑéÖ¤Êý×Ö¡¢¼ì²âÊý×Ö¡¢ÅжÏÊÇ·ñΪÊý×Ö¡¢Ö»ÄÜÊäÈëÊý×Ö
5:Ö»ÄÜÊäÈëÓ¢ÎÄ×Ö·ûºÍÊý×Ö
6: js emailÑéÖ¤ ¡¢js ÅжÏemai ......
ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++Ï ......
write by ¾ÅÌìÑãôá(JTianLing) -- blog.csdn.net/vagrxie ÌÖÂÛÐÂÎÅ×é¼°Îļþ Technorati ±êÇ©: JAVA,JAVA Applet,Applet Tag,Deploy Applet,´ÓC++µ½JAVA ǰÑÔ Ôø¾£¬ÎÒÓÐÒ»¸öÃÎÏ룬ÄǾÍÊÇÎҵijÌÐòÄÜÈÃÈ˲»ÐèÒªÏÂÔØ¾ÍÄÜͨ¹ýä¯ÀÀÆ÷ÔËÐУ¬¿ÉϧѧϰµÄC,C++µÈ¶¼²»¾ß±¸´ËÄÜÁ¦£¬Ñ§Ï°ÍêPythonºó£¬·¢ÏÖÆäÒ²½ö½öÊÇÒÔ·þÎñÆ÷ ......
¡¡¡¡Ç°ÎÄÔÙÐøÊé½ÓÉÏÒ»»Ø£¬»°Ëµµ±ÈÕ°øÍí£¬Áîºü³å°Ý±ðʦ¸µ——¶î£¬¿´´íÊéÁË……£¨ÇáËÉÒ»ÏÂ~¹þ~£©
¡¡¡¡ÔÚÕâÒ»½ÚµÄǰ°ëƪ£¬ÎÒÃÇÖØÎÂÁËJSÀïµÄÊý¾ÝÀàÐÍ¡£ÔÚÖÚ¶àµÄÊý¾ÝÀàÐÍÖ®ÖУ¬ÓÐÒ»ÖÖ½Ð×öobject£¬Ò²¾ÍÊÇÎÒÃdz£ËµµÄ¶ÔÏó¡£ÈçǰËùÊö£¬¶ÔÏó¾ÍÊÇÒ»×éÊôÐԺͷ½·¨µÄ¼¯ºÏ¡£ÊôÐÔ¾ÍÊǶÔÏóËù¹ØÁªµÄ±äÁ¿£¬¶ø·½·¨ÔòÊÇ¶Ô ......