![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
выдрать строку адреса из окна 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]И тебя "б. злобная" с тем же!