Как получить хэндл окна консольного приложения?
От: Аноним  
Дата: 31.08.01 11:51
Оценка: 297 (6)
Статья:
Как получить хэндл окна консольного приложения?
Автор(ы): Игорь Вартанов, Александр Шаргин
Дата: 30.04.2001


Авторы:
Alexander Shargin
Игорь Вартанов

Аннотация:
Нечасто, но иногда все же бывает необходимо получить хэндл окна консольного приложения. Windows API не предусматривает никакой специальной функции для выполнения этой задачи, однако для её решения можно найти обходные пути.
GetConsoleWindow
От: Alex Fedotov США  
Дата: 21.11.01 09:27
Оценка: 30 (3) +1
Забыли упомянуть про GetConsoleWindow() (Windows 2000 and later).
-- Alex Fedotov
Использование GUID'а может стоить почти 1Mb памяти
От: htfv Беларусь  
Дата: 01.09.01 11:51
Оценка:
При использовании GUID'а для составления уникального заголовка, необходима библиотека ole32.dll. Так что не стоит пользоваться этим методом, если библиотека ole32.dll больше нигде не используется.
Re: 1Mb ВИРТУАЛЬНОЙ памяти
От: Аноним  
Дата: 25.07.03 03:59
Оценка:
Здравствуйте, htfv, Вы писали:

H>При использовании GUID'а для составления уникального заголовка, необходима библиотека ole32.dll. Так что не стоит пользоваться этим методом, если библиотека ole32.dll больше нигде не используется.


И в Эксплорере не используется? Так что для NT не так всё страшно.
Re: Как получить хэндл окна консольного приложения?
От: Аноним  
Дата: 13.05.04 12:49
Оценка:
Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:

ИВА>Статья:



ИВА>Авторы:

ИВА> Alexander Shargin
ИВА> Игорь Вартанов

ИВА>Аннотация:

ИВА>Нечасто, но иногда все же бывает необходимо получить хэндл окна консольного приложения. Windows API не предусматривает никакой специальной функции для выполнения этой задачи, однако для её решения можно найти обходные пути.

Тут (со 2-ым способом) есть особая фишка. Если приложение запущено из FAR'а, то хэндл окна не находится.
(Потому, что приложение наследует консоль родительского процесса.)
Правда, такое поведение -- именно то, что было нужно мне, т.к. я хотел минимизировать и спратять окно.
Прятать FAR было бы не очень корректно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.