Я разрабатываю BHO с c ++ для определения телефонных номеров на любой веб-странице, выделения телефонных номеров и вызова утилиты при нажатии на телефонный номер.
Я использую IHtmlTxtRange :: findtext для поисканомера телефонов и для выделения номеров телефонов я вставляю тег span HTML в веб-страницу с помощью IHtmlTxtRange :: pastetext ().
Я хочу вызвать тот же экземпляр уже запущенного приложения при нажатии на номер телефона на веб-странице.Как этого добиться с помощью onclick () тега HTML span.
Ниже я привел фрагмент кода, который я использую для поиска и выделения номера телефона.
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();
Большое спасибо.