Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

выдрать строку адреса из окна IE [D7, WinXP]


з. танька ©   (2005-12-29 00:23:00) 

привет!
как сделать сабж?

зы: с наступающим!


Digitman   (2005-12-30 14:42:00) [1]

да уж больно "з." твое глаз-мысль режет)


з. танька   (2005-12-30 14:35:00) [2]


> Digitman ©   (30.12.05 14:21) [7]

гы...
а смысл? о_О


Digitman   (2005-12-30 14:21:00) [3]

Танька, а почему ты все з. да з. ?
На д. не было желания перейти ?)

p.s.
"Танька-красавица со мной останется, А вы свободны, господа !" (С) Трофим


з. танька   (2005-12-30 14:14:00) [4]

спасибо Rouse_ !
замечательный пример.. будем пробовать.


Rouse_   (2005-12-29 12:52:00) [5]

Ну вот, комуто пример делал, хэндл известен:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ActiveX, SHDocVw, ShellAPI;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   IDHOT: Cardinal;
   procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 IDHOT := GlobalAddAtom('Alt+Space hotkey');
 RegisterHotKey(Handle, IDHOT, MOD_WIN, 90);
end;

procedure TForm1.WMHotKey(var Message: TMessage);
var
ShellWindow: IShellWindows;
WB: IWebBrowserApp;
spDisp: IDispatch;
I: Integer;
FWindow: THandle;
NS: IShellFavoritesNameSpace;
begin
 if Message.WParam = IDHOT then
 begin
   FWindow := GetForegroundWindow;
   ShellWindow := CoShellWindows.Create;
   for I := 0 to ShellWindow.Count - 1 do
   begin
     spDisp := ShellWindow.Item(I);
     if spDisp = nil then Continue;
     spDisp.QueryInterface(IWebBrowserApp, WB);
     if WB <> nil then
       if WB.HWND = FWindow then
         // Тут создавай директорию. Путь к открытой папке лежит в WB.LocationURL
   end;
 end;
end;

end.


з. танька   (2005-12-29 12:11:00) [6]

гм а если уже известен handle окна.. окна бравзера?


Rouse_   (2005-12-29 11:44:00) [7]

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, MSHTML_TLB, ActiveX, SHDocVw, OleCtrls;

...

procedure TForm1.Button2Click(Sender: TObject);
var
ShellWindow: IShellWindows;
WB: IWebBrowserApp;
spDisp: IDispatch;
k: Integer;
begin
ShellWindow := CoShellWindows.Create;
for k := 0 to ShellWindow.Count do
begin
  spDisp := ShellWindow.Item(k);
  if spDisp = nil then Continue;
  spDisp.QueryInterface(IWebBrowserApp, WB);
  if WB <> nil then
    Memo1.Lines.Add(WB.LocationURL);
end;
end;


evvcom   (2005-12-29 09:49:00) [8]


> выдрать строку адреса из окна IE

Например, FindWindow (или EnumWindows) и GetWindowText. А если у тебя 2 и более IE запущено?

зы: и тебя с наступающим!


Германн   (2005-12-29 04:32:00) [9]

И тебя "б. злобная"  с тем же!


Наверх

Титульная страница Поиск, карта сайта Написать письмо