日曜日, 12月 02, 2007

IEのツールバーを作成する

IEでは、レジストリで設定すると右クリックでアプリを登録できるが、セキュリティのためかメニューにはその機能がない。右クリックを禁止するサイトでスクリプトを走らせるには、新たなメニューバーをコンパイルしないとならない。バランスの悪い対処法といえる。

とつい思ったのだが、マイクロソフト社公式サイトでは、KBBARなるサンプルコードが置いてある。それを用いると、DLLの形式で、ツールバーが作成できる。

多少つかえたのが、COM関連のクラスであるが、ここに、ページのURLを取得するコードを記述する(エラー処理は省略)。

CComBSTR url;
m_pBand->m_pIE->get_LocationURL(&url);

さらに、選択されたテキストを取得するコードを以下に示す。

IHTMLDocument2 *pDoc;
m_pBand->m_pIE->get_Document((IDispatch**)&pDoc);
IHTMLSelectionObject *pObject;
pDoc->get_selection(&pObject);
IHTMLTxtRange *pRange;
pObject->createRange((IDispatch**)&pRange);
CComBSTR selectedText;
pRange->get_text(&selectedText);

これを走らせると、メニューではなく、ツールバーからDLLを起動できる。

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...