![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
handle [D7, XP]
Troan_81 © (2006-11-15 22:01:00)Всем салют!
Модератору хочется сказать БОЛЬШОЕ СПАСИБО!
Я вчера нагрубил - немного был не в себе. Больше так не буду !:)
Значит такой вот вопрос опять.
Как получить имя окна? Предположим, что открыта папка с именем "Новая папка", как я могу получить это имя?
Amoeba (2006-11-16 11:22:00) [1]Статья "Мечты вуайериста":
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=432
RASkov (2006-11-16 02:15:00) [2]> [8] Troan_81 (15.11.06 22:23)
Может начать учится с чего нибудь попроще? А то так и с ума можно сойти:) шутка.
Troan_81 (2006-11-15 22:23:00) [3]Спасиба! Буду копать в этом направлении. Хоть чета, а голова немного поняла, чего мне нужно в действительности. Ну, новичек я вот и путаюсь. Строго судить меня пожалуйста не надо.... Я сам это понимаю. Но я учусь!
Джо (2006-11-15 22:18:00) [4]> [4] Troan_81 (15.11.06 22:10)
> Я гдето видел или слышал про прогу, которая следила за всеми
> запущенными процессами. На основе этого я хочу научиться
> определять имя открытой папки. т.е. получить имя папки.
Слушай, у тебя путаница какая-то... Пойми, что нет никак имен у окон, что и "папок-то" на самом деле никаких нет.
Держи простейший код перечисления всех окон верхнего уровня в системе с выводом заголовков их окон в Memo.
Надеюсь, идею уловишь.
function OnWindow (Handle: HWND; Memo: TMemo): BOOL; stdcall;
var
L: Integer;
P: PChar;
begin
L := GetWindowTextLength(Handle) + 1;
GetMem (P,L+1);
try
GetWindowText (Handle,P,L);
Memo.Lines.Add(P)
finally
FreeMem (P);
end;
Result := True;
end;
procedure TForm25.Button1Click(Sender: TObject);
begin
Memo1.Lines.BeginUpdate;
try
Memo1.Clear;
EnumWindows(@OnWindow,Integer(Memo1))
finally
Memo1.Lines.EndUpdate
end;
end;
П.С, в коде нет никаких проверок возвращаемых результатов WinAPI-функций. Так делать нельзя, сразу говорю :)
Troan_81 (2006-11-15 22:17:00) [5]Покажите пожалуйста хоть какой-нить пример. Хотя бы маленький. Я никак не могу понять. как это можно реалзовать.
Anatoly Podgoretsky (2006-11-15 22:16:00) [6]> Troan_81 (15.11.2006 22:01:00) [0]
Имя окна можно получить разными методами, например через EnumWindows - вчера об этом говорили. Если окно единственное, то можно и через FindWindows по классу.
Troan_81 (2006-11-15 22:10:00) [7]Я гдето видел или слышал про прогу, которая следила за всеми запущенными процессами. На основе этого я хочу научиться определять имя открытой папки. т.е. получить имя папки.
Troan_81 (2006-11-15 22:08:00) [8]Джо приветствую Вас!
Мне нужно получить список всех запущенных окон.
Джо (2006-11-15 22:08:00) [9]> [2] Troan_81 (15.11.06 22:08)
> Мне нужно получить список всех запущенных окон.
Функция EnumWindows.
К слову: окна не "запускаются".
Джо (2006-11-15 22:06:00) [10]> Как получить имя окна? Предположим, что открыта папка с
> именем "Новая папка", как я могу получить это имя?
А если открыто 100 окон, то "имя" какой нужно получить?