DELPHI problem

Programovacie jazyky, rady, poradňa...
kelso
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 398
Registrovaný: 30 júl 2004, 17:58
Bydlisko: Terchová

DELPHI problem

Príspevok od používateľa kelso »

Zdravim, aj som googlil ale nenasiel som, tak sa obraciam sem. Vedel by niekto ako v delphi zkopirovat adresu URL prave otvorenej stranky? klasicky cez tlacitko Button do ... povedzme ze napr. Editu. Dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

práve otvorenej kde? v TWebBrowser komponente? V externom prehliadači? niekde inde?
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Príspevok od používateľa TGiJack »

audiotrack napísal:práve otvorenej kde? v TWebBrowser komponente? V externom prehliadači? niekde inde?
on skor chce z klasického prehladača ziskat url čo je prave otvorena hmm ale nepočul som otom že by sa to dalo nejako v delfi.

Možno by sa to dalo vylovit z memory PC ale nikdy som to nerobil
kelso
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 398
Registrovaný: 30 júl 2004, 17:58
Bydlisko: Terchová

Príspevok od používateľa kelso »

audiotrack napísal:práve otvorenej kde? v TWebBrowser komponente? V externom prehliadači? niekde inde?
jj, v prehliadaci externom
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

môžeš využiť DDE, no môžeš naraziť na dva problémy:
1) ak bude vytvorených viac inštancii IE - nemáš prehľad s ktorou pracuješ
2) ak bude vytvorených viac okien jednej inštancie IE - rovnaký problém
potom by si mohol využiť EnumChildWindows(), ale to by chcelo ďalšie googlenie. Ukážka kodu pre získanie jednej adresy z jedného okna IE by vypadala takto:

Kód: Vybrať všetko

uses
  DDEMan;

// TForm type deklarácia...

procedure TForm1.Button1Click(Sender: TObject);
var
  DDE:TDDEClientConv;
begin
  DDE:=TDDEClientConv.Create(self);
  if DDE.SetLink('IExplore','WWW_GetWindowInfo') then
  Memo1.Lines.Add(DDE.RequestData('0xFFFFFFFF,sURL,sTitle'));
  DDE.Free;
end;
ukážka kde je to rozšírené aj na netscape je tu: http://www.delphi3000.com/articles/article_1529.asp?SK= ale ten kod sa mi dvakrát nepáči :)
kelso
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 398
Registrovaný: 30 júl 2004, 17:58
Bydlisko: Terchová

Príspevok od používateľa kelso »

tak som este trosku googlil a nasiel :) . napriklad toto:

Kód: Vybrať všetko

uses
  DDEMan;

// TForm type deklarácia...

procedure TForm1.Button1Click(Sender: TObject);
var
  DDE:TDDEClientConv;
begin
  DDE:=TDDEClientConv.Create(self);
  if DDE.SetLink('IExplore','WWW_GetWindowInfo')  or
     DDE.SetLink('Netscape', 'WWW_GetWindowInfo') or
     DDE.SetLink('Mosaic', 'WWW_GetWindowInfo') or
     DDE.SetLink('Netscp6', 'WWW_GetWindowInfo') or
     DDE.SetLink('Mozilla', 'WWW_GetWindowInfo') or
     DDE.SetLink('Firefox', 'WWW_GetWindowInfo') then
  Memo1.Lines.Add(DDE.RequestData('0xFFFFFFFF,sURL,sTitle'));
  DDE.Free;
end;
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

stále ti to ale nerieši tie dve situácie čo som písal
Napísať odpoveď