我正在開發一個BHO,用於識別任何網頁上的電話號碼,突出顯示電話號碼並在點擊電話號碼時調用實用程序。如何調用已運行的應用程序實例
我使用IHtmlTxtRange :: findtext來查找電話號碼和突出顯示電話號碼我使用IHtmlTxtRange :: pastetext()向網頁注入HTML的span標記。
我想調用已經運行的應用程序的同一個實例,當點擊網頁上的電話號碼。如何使用HTML span標記的onclick()來實現這一點。
下面我給出了用於查找和突出顯示電話號碼的代碼段。
lpBody->createTextRange(&lpTxtRange);
lpBody->Release();
CComBSTR html;
CComBSTR newhtml;
long t;
VARIANT_BOOL bFound;
int i=0;
int size= findText.size();
for(int i=0;i<size;i++)
{
while(1)
{
CComBSTR str1= findText[i].c_str();
lpTxtRange->findText(str1,0,lFlags,&bFound);
if(bFound==-1)
{
newhtml.Empty();
lpTxtRange->get_htmlText(&html);
newhtml.Append("<span id='");
newhtml.Append(L"begin_highlight");
newhtml.Append("' title='");
newhtml.Append(L"call this phone number ");
newhtml.Append(str1);
newhtml.Append("' style='");
newhtml.Append(L"color: white; background-color: grey");
newhtml.Append("'>");
newhtml.AppendBSTR(html);
newhtml.Append("</span>");
lpTxtRange->pasteHTML(newhtml);
lpTxtRange->moveStart((BSTR)CComBSTR("Character"),1,&t);
lpTxtRange->moveEnd((BSTR)CComBSTR("Textedit"),1,&t);
}
else
break;
}
}
lpTxtRange->Release();
findText.clear();
非常感謝。