W celu pobrania adresu z aktywnego okna przeglądarki, można posłużyć się klasą
TDdeClientConv:
// Plik źródłowy, np. Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <winsock.h>
#include <DdeMan.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TDdeClientConv *Adres = new TDdeClientConv(this);
Adres->SetLink("firefox", "WWW_GetWindowInfo");
AnsiString rData = Adres->RequestData("0xFFFFFFFF");
int l = rData.Pos("\",\"") -2;
Memo1->Text = rData.SubString( 2, l );
delete Adres;
}
Gdzie
iexplore to nazwa klasy dla
Internet Explorer'a. Dla innych przeglądarek będzie to odpowiednio:
- firefox
- Netscape
- Netscp6
- Mozilla
- Mosaic
Zasada jest prosta, jako usługę podajesz po prostu nazwę pliku przeglądarki, gdzie Internet Explorer ma nazwę iexplore.exe, a Firefox - firefox.exe. Nazwę usługi podajemy jednak bez rozszerzenia.