Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.046 c
15-1163508842
Андрей Сенченко
2006-11-14 15:54
2006.12.03
DOC. Память для EXEC


15-1163073684
tear
2006-11-09 15:01
2006.12.03
MS SQL: как понять были данные или нет?


4-1153168446
GL00m
2006-07-18 00:34
2006.12.03
И снова про USB-COM и проблемы с ним...


15-1163385443
kidm
2006-11-13 05:37
2006.12.03
Нуж помощь при оброшение к файлу


15-1163075753
Сало
2006-11-09 15:35
2006.12.03
Вышел релиз Firebird 2.0





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский