ActiveX¿Ø¼þ¶àÏ̻߳ص÷javascript·½·¨µÄÎÊÌâ
²ÎÕÕhttp://topic.csdn.net/u/20070212/20/1011ad32-1ce7-416d-9e6c-cffca7a100fe.html?seed=1066340289ÎÒÊÔ×ÅдÁËÒ»¸öOCX¿Ø¼þ,Ö÷Òª´úÂëÈçÏÂ:
//ÖØÔØSetSite
STDMETHODIMP CAXClass::SetSite(IUnknown *pUnkSite)
{
CComPtr <IServiceProvider> pSP;
CComPtr <IDispatch> spDisp;
HRESULT hr = pUnkSite-> QueryInterface(&pSP);
pSP-> QueryService(IID_IWebBrowserApp, IID_IWebBrowser2, (LPVOID*)&m_pWebBr); //m_pWebBr³ÉÔ±±äÁ¿£¬¶¨Òå CComQIPtr <IWebBrowser2, &IID_IWebBrowser2> m_pWebBr;
//m_pWebBr-> get_Document((IDispatch**)&m_pDoc);
//hr = m_pDoc->get_Script(&spDisp);
::CoMarshalInterThreadInterfaceInStream(IID_IWebBrowser2,m_pWebBr, &m_pStream); //m_pStreamÊdzÉÔ±±ä¸ü£¬¶¨Òå CComPtr <IStream> m_pStream;
return S_OK;
}
//Ï̴߳¦Àíº¯Êý
UINT ThreadProc(LPVOID lpParam)
{
::CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);
CComPtr <IHTMLDocument2> spDoc;
CComPtr <IDispatch> spDisp;
char szBuf[256] = {0};
IStream * pStream = (IStream *)lpParam;
CComQIPtr <IWebBrowser2, &IID_IWebBrowser2> pWebBr;
::CoGetInterfaceAndReleaseStream(pStream, IID_IWebBrowser2, (void**)&pWebBr);
HRESULT hr = pWebBr-&
Ïà¹ØÎÊ´ð£º
ÒÔÏÂÊÇÒ»¶ÎJavsScript½Å±¾£¬µ«ÔËÐÐʱ×Ü»á²úÉú ¡°Microsoft JScript ÔËÐÐʱ´íÎó: 'null' Ϊ¿Õ»ò²»ÊǶÔÏó¡±Òì³££¬´ó¼Ò°ï¿´Ò»Ï¡£
<form id="form1" runat="server">
< ......
Ôõô²ÅÄÜÅжϼüÅÌÊÇ·ñ±»°´ÏºÍËÉ¿ª¡£¡£¡£¡£¡£²»ÖªµÀÔõôÅжϡ£¡£¡£ËÄܸæËßÎÒÏÂÂ𡣡£¡£¡£Ð»Ð»
onkeydownºÍonkeyupʼþ
ÒýÓÃ
onkeydownºÍonkeyupʼþ
×Ô¶¯´¥·¢ÕâÁ½¸öʼþ
onkeydown °´ÏÂ
onkeyup ËÉ¿ª
......
²úÆ·µÄÅäÖÃÒ³Ãæ¹²ÓÃÒ»¸öÓÃJavaScriptµÄdTreeʵÏÖµÄÊ÷Ðνṹ£¬ÏÔʾµÄʱºò£¬Ê÷Ðνṹ¿¿ÔÚÒ³ÃæµÄ×î×ó±ß£¬¸úÎÒµÄÅäÖÃÒ³ÃæÖмä¸ôÁËÒ»´ó¿é£¬ÏÖÔÚÏë°ÑÊ÷ÐÎĿ¼¾ÓÖУ¬½ô¿¿ÔÚÅäÖÃÄÚÈÝÅԱߣ¬ÈçºÎ¿ØÖÆÊ÷ÐÎĿ¼µÄλÖã¬ÒÔ¼°¿É²»¿ ......
void CWEHelperDlg::OnOK(){
CString code;
//µ÷ÓÃVBSCRIPT£¬Äܵ¯³öÏûÏ¢¿ò,Ò²ÄÜÕýÈ··µ»Ø hello
code = "function main()\r\n\tMsgBox \"ok\"\r\n\tmain=\"hello\"\r\nend functio ......
ÉèÓÐÖÚ¶àdiv²ã Ï£Íûµã»÷µ½ÄǸö²ã£¬¾Í»ñµÃÄǸö²ãµÄid
ÎÊÌâÊÇ ÎÒÏë°Ñidת»»³ÉÒ»¸ö¿ÉÒÔalertµÄÊý×Ö
ÒòΪÎÒÐèÒªÕâ¸öÊý×ÖÀ´È·¶¨Êý×éÖеÄijһÏî
ÀýÈç
ÎÒ¶¨Òåij¸ödivµÄidΪe1
µã»÷Ëûºó ÓëÖ®¶ÔÓ¦µÄÊý×éaaa[1]ÖеÄÊý¾Ý·µ ......