![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выдернуть текст из адресной строки Explorera [D7, WinXP]
Andron.Ru © (2005-12-01 13:12:00)Мне необходимо получить список путей ко всем открытым в Explorere папкам. Как Это сделать...
Зарание спсб
ANB (2005-12-02 09:50:00) [1]
> Andron.Ru © (02.12.05 09:01) [2]
Если тебе нужно по всем открытым папкам, то придется еще EnumWindows использовать. А класс окна желательно указать - мало ли еще будут окна с таким заголовком.
Andron.Ru (2005-12-02 09:01:00) [2]Все получилось СПСБ
procedure TForm1.Button1Click(Sender: TObject);
var
wnd, wnd2,wnd3: HWND;
tr: array [0..max_path] of char;
i: integer;
begin
wnd:=FindWindow(nil,'LANGUAGE');
if wnd>0 then
begin
wnd3:=FindWindowEx(wnd,0,'WorkerW',nil);
wnd3:=FindWindowEx(wnd3,0,'ReBarWindow32',nil);
wnd3:=FindWindowEx(wnd3,0,'ComboBoxEx32',nil);
wnd3:=FindWindowEx(wnd3,0,'ComboBox',nil);
wnd2:=FindWindowEx(wnd3,0,'Edit',nil);
end;
if wnd2>0 then
begin
SendMessage(wnd2,WM_GETTEXT,245,lparam(@tr[0]));
ShowMessage(tr);
end;
end;
ANB (2005-12-01 14:51:00) [3]1. Найти окно проводника (FindWindow)
2. Найти в этом окне Edit или ComboBoxEx32 (FindWindowEx или EnumChildWindows)
3. Прочитать текст