나는 웹 페이지에서 전화 번호를 식별하고 전화 번호를 강조 표시하고 전화 번호를 클릭하면 유틸리티를 호출하는 C++로 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();
고마워요. 이 문제의 절반에 도움이 될 수