![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с доступом к содержимому окна вывода консоли
vertal © (2004-04-25 01:02:00)Я устанавливаю горячую клавишу , при обработке события от ее нажатия хочу проверить , является ли активное окно(не моей программы) консольным , и если да , то получить его экран вывода(символы и атрибуты).Пишу:
...
Var
IsFocusOnConsole:Bool;
ConsoleScreenBufferInfo:_Console_Screen_Buffer_Info;
begin
IsFocusOnConsole:=GetConsoleScreenBufferInfo
(GetForegroundWindow,ConsoleScreenBufferInfo);
...
End;
Проблема в том , что IsFocusOnConsole=0 всегда , даже если активно консольное окно , а GetLastError возвращает 6(INVALID_HANDLE_VALUE).Подскажите , что здесь не так?
BiN (2004-04-28 23:23:00) [21]>>vertal (25.04.04 01:02)
Если объяснишь главную цель, возможно, поможем.
vertal (2004-04-28 23:15:00) [22]to Polevi
Извиняюсь за опоздание , были проблемы с доступом к интернету.
Не понял , что значит никак? Я что-то не понимаю (дело не в том , что GetForegroundWindow возвращает не нужный мне дескриптор буфера , а в правах доступа к этим дескрипторам ? ) или вы действительно не знаете , как решить поставленную задачу?Объясните мне пожалуйста , что вы имеете в виду под "никак" , пусть даже скажите , что я полный чайник в API , но все - таки я бы хотел закрыть этот вопрос - на худой конец отправьте к какому-нибудь разделу справки , но конкретному , потому что MS SDK Help в комплекте Delphi я уже просмотрел и не нашел там ответа .
Polevi (2004-04-26 18:09:00) [23]никак
vertal (2004-04-26 17:08:00) [24]to Polevi
Первым параметром передается хэндл данного буфера.Я подозревал , что это и хэндл консольного окна,получаемый через GetForegroundWindow - не одно и то же , но не понял , как получить первое , зная второе?
Polevi (2004-04-25 09:47:00) [25]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/getconsolescreenbufferinfo.asp
что первым параметром надо передавать ?