0

C#アプリケーション(BHO)でMSHTMLを使用しようとしています。特に、IMarkupPointer.findTextメソッドを使用したいと思います。このメソッドはテキストを検索し、テキストが見つかったかどうかを確認したいと思います。これをC++で行うとき、私は次のようにしました。

HRESULT hr = ptrBegin->FindText(text, 0, ptrEnd, NULL); 
if (S_FALSE == hr) 
{
    // Do something if text wasn't found.
}

しかし、C#では、PIAではこのメソッドのreturn型が無効であるため、これを行うことはできません。テキストが見つかったかどうかを確認する他の方法はありますか?

4

1 に答える 1

0

この特定のケースでは、次の回避策を使用して、テキストが見つかったかどうかを確認しました。

IMarkupPointer pBegin, pEnd;
IMarkupServices markupServices;
// ...

pBegin.findText(word, 2, pEnd, null);

IHTMLTxtRange range = htmlDocument2.selection.createRange();
markupServices.MoveRangeToPointers(pBegin, pEnd, range);

if(range.text != word)
{
    // ...Text not found
}
于 2013-02-20T17:25:51.897 に答える