Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

handle   Найти похожие ветки 

 
Troan_81   (2006-11-15 22:01) [0]

Всем салют!
Модератору хочется сказать БОЛЬШОЕ СПАСИБО!
Я вчера нагрубил - немного был не в себе. Больше так не буду !:)

Значит такой вот вопрос опять.
Как получить имя окна? Предположим, что открыта папка с именем "Новая папка", как я могу получить это имя?


 
Джо ©   (2006-11-15 22:06) [1]

> Как получить имя окна? Предположим, что открыта папка с
> именем "Новая папка", как я могу получить это имя?

А если открыто 100 окон, то "имя" какой нужно получить?


 
Troan_81   (2006-11-15 22:08) [2]

Джо приветствую Вас!
Мне нужно получить список всех запущенных окон.


 
Джо ©   (2006-11-15 22:08) [3]

> [2] Troan_81   (15.11.06 22:08)
> Мне нужно получить список всех запущенных окон.

Функция EnumWindows.

К слову: окна не "запускаются".


 
Troan_81   (2006-11-15 22:10) [4]

Я гдето видел или слышал про прогу, которая следила за всеми запущенными процессами. На основе этого я хочу научиться определять имя открытой папки. т.е. получить имя папки.


 
Anatoly Podgoretsky ©   (2006-11-15 22:16) [5]

> Troan_81  (15.11.2006 22:01:00)  [0]

Имя окна можно получить разными методами, например через EnumWindows - вчера об этом говорили. Если окно единственное, то можно и через FindWindows по классу.


 
Troan_81   (2006-11-15 22:17) [6]

Покажите пожалуйста хоть какой-нить пример. Хотя бы маленький. Я никак не могу понять. как это можно реалзовать.


 
Джо ©   (2006-11-15 22:18) [7]

> [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:23) [8]

Спасиба! Буду копать в этом направлении. Хоть чета, а голова немного поняла, чего мне нужно в действительности. Ну, новичек я вот и путаюсь. Строго судить меня пожалуйста не надо.... Я сам это понимаю. Но я учусь!


 
RASkov   (2006-11-16 02:15) [9]

> [8] Troan_81   (15.11.06 22:23)

Может начать учится с чего нибудь попроще? А то так и с ума можно сойти:) шутка.


 
Amoeba ©   (2006-11-16 11:22) [10]

Статья "Мечты вуайериста":
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=432



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.046 c
1-1161328605
312kbps
2006-10-20 11:16
2006.12.03
Получить ссылку на объект 1С !!!


2-1163394280
Lebedev
2006-11-13 08:04
2006.12.03
Можно ли регулировать положение текста (caption) TPanel?


2-1163352962
jose
2006-11-12 20:36
2006.12.03
передача массивов в функцию в виде параметров


4-1153296669
Интересующийся
2006-07-19 12:11
2006.12.03
Два вопроса о региональных стандартах


5-1144658519
megabyte-ceercop
2006-04-10 12:41
2006.12.03
Подсветка синтаксиса