Witam. W sieci jest masę przykładów jak w Delphi pobrać adres strony otwartej na aktywnej karcie w
Operze lub w Internet Explorer. Jest także kod, który pobiera tekst z paska stanu w Internet Explorze.
Ten kod wklejam poniżej. Ale pytanie jak wyciągnąć tekst z paska stanu w Operze? Wiadomo Opera
znacznie szybsza, lepsza i bezpieczniejsza niż IE. Dlatego jej używam. A w swoim programie dodaję
dwa hotkeye jeden pobiera w podany niżej sposób tekst z paska stanu IE, zaś drugi: adres z aktywnej
karty Opery. Jednak ja wolał bym any najeżdzając myszką na odnośnik, którego adres pokazuje się w
pasku stanu - został on również pobrany i dodany do ListBoxa. Problem chyba w tym, że pasek stanu
w IE to osobny komponent posiadający nazwę klasy okna. Natomiast w Operze całe okno karty jest
pod jednym ClassName. Pytałem na ogólnym forum Opery, ale póki co brak odpowiedzi. Może ktoś z
Was ma jakiś pomysł. To prosił bym o jakiś przykładowy kod. Dodam, że zamjeniałem w wywołaniu
poniższej funkcji 'IEFrame' na 'OpWindow', a ''msctls_statusbar32' na 'OperaWindowClass', ale to mi
pobiera nic albo przy zmianie numeru panela jakieś śmieci. Dlatego proszę o działające rozwiązanie.

function GetStatusText(wndWindow: THandle; StatusBarClassName: string; PanelIndex: Byte): string;
var
  WndStatusBar : THandle;
  StatusBarText : array[0..$FFF] of Char;
begin
  Result := '';
  WndStatusBar := FindWindowEx(wndWindow, 0, PChar(StatusBarClassName), nil);
  if WndStatusBar <> 0 then
    begin
    if PanelIndex = 0 then
       SendMessage(WndStatusBar, WM_GETTEXT, $FFF, Longint(@StatusBarText))
    else
    SendMessage(WndStatusBar, SB_GETTEXT, PanelIndex, Longint(@StatusBarText));
    Result := StrPas(StatusBarText);
    end;
end;

Przykład wywołania powyższej funkcji i przypisanie jej rezulatatu zmiennej Url typu string:

  Url := GetStatusText(FindWindow('IEFrame', nil), 'msctls_statusbar32', 0);