epub ファイルの html コンテンツを表示したい。epubファイルの読み取りと処理に問題はありません。私の問題は、結果の HTML を表示する方法ですか? C# で WebBrowser コントロールを使用できることはわかっています。しかし、問題は、Web ブラウザーのコンテンツを外部アプリケーションから読み取ることができることです。独自の DRM を使用して、epub ファイルの暗号化と復号化を行っています。しかし、本のコンテンツをビューからコピーしたくないのです。
私はこのコード(デルファイで書かれた)を持っており、任意のアプリケーションから、つまりコントロールからhtmlドキュメントとコンテンツを取得します。
function GetIEDocumentFromHWND(WHandle: HWND;
var doc: IHTMLDocument2): HRESULT;
var
hInst: HWND;
lRes: Cardinal;
MSG: Integer;
pDoc: IHTMLDocument2;
ObjectFromLresult: TObjectFromLresult;
IE: IWebbrowser2;
begin
hInst := LoadLibrary('Oleacc.dll');
@ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');
if @ObjectFromLresult <> nil then begin
try
MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');
SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, pDoc);
doc:=pDoc;
if Result = S_OK then
(pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp,
IWebbrowser2, IE);
finally
FreeLibrary(hInst);
end;
end;
end;
このコードは、webbrowser コントロールの使用が適切な解決策ではないことを証明しています。それから私は何ができますか?
- 他のアプリケーションが Web ブラウザ コントロールを制御できないようにする方法はありますか?
- HTMLを表示するのと同じ力を持つWebブラウザコントロールの代替手段はありますか?