C++ Builder Tips


DDEを利用してブラウザからURLを取得する


ブラウザから現在開いているページのURLを取得する方法です。DDEを利用します。
Urlに取得したURLが格納されます。

#include <DdeMan.hpp> //DDEを使用するときに必要

void getUrl(void)
{
  AnsiString Url;
  AnsiString Browser = "Iexplore.exe";

  TDdeClientConv *dde = new TDdeClientConv(this);
  AnsiString RegPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" + Browser;
  dde->ServiceApplication = GetReg( RegPath , "" , HKEY_LOCAL_MACHINE );

  if(dde->SetLink( Browser, "WWW_GetWindowInfo" )==true){
    if(dde->OpenLink()){
      char *str = dde->RequestData( "0xFFFFFFFF" ); //自動的に領域が確保される
      Url = str;
      StrDispose(str); //明示的に開放してあげる必要がある
      dde->CloseLink();
    }
  }
}

delete dde;



目次に戻る
Copyright(c) 2008 WoodenSoldier Software