Добрый !
Подскажите, пожалуйста, как получить хэндл окна консольного приложения.
Нужно спрятать окошко, чтобы программа работала в сайлент моде и была не видна юзеру окромя как через таск менеджер — процессы.
Заранее благодарю.
Здравствуйте, <Аноним>, Вы писали:
А>Нужно спрятать окошко, чтобы программа работала в сайлент моде и была не видна юзеру окромя как через таск менеджер — процессы.
Может быть, имеет смысл сделать ее сервисом?
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
Здравствуйте, Аноним, Вы писали:
А>Добрый ! А>Подскажите, пожалуйста, как получить хэндл окна консольного приложения. А>Нужно спрятать окошко, чтобы программа работала в сайлент моде и была не видна юзеру окромя как через таск менеджер — процессы.
Зачем тогда тебе консольное приложение? Можно, как уже посоветовали, сделать сервис, либо обычное win32-приложение (то, которое с WinMain ), и не создавать в нем окон.
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[2]: Хэндл консольного окна
От:
Аноним
Дата:
10.03.06 09:04
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:
А>>Нужно спрятать окошко, чтобы программа работала в сайлент моде и была не видна юзеру окромя как через таск менеджер — процессы. SDB>Может быть, имеет смысл сделать ее сервисом?
Это уже не модно, но хотелось бы поиметь совместимость с Вин 95/98/Ме. К тому же есть и спортивные интерес, можно ли получить хэндл окна в принципе.
" Аноним " <0@users.rsdn.ru> сообщил/сообщила в новостях следующее: news:1773143@news.rsdn.ru... > Добрый ! > Подскажите, пожалуйста, как получить хэндл окна консольного приложения. > Нужно спрятать окошко, чтобы программа работала в сайлент моде и была не видна юзеру окромя как через таск менеджер — процессы. > Заранее благодарю.
Здравствуйте, <Аноним>, Вы писали:
А>Подскажите, пожалуйста, как получить хэндл окна консольного приложения. А>Нужно спрятать окошко, чтобы программа работала в сайлент моде и была не видна юзеру окромя как через таск менеджер — процессы.
Есть шибко брутальный вариант:
#include <windows.h>
#include <stdio.h>
void main (void)
{
FreeConsole ();
MessageBox (NULL, "Нету у нас больше консоли", "", MB_OK);
AllocConsole ();
MessageBox (NULL, "А теперь есть", "", MB_OK);
}
> Мне кажется это ненадёжный вариант. А что если у тебя стартует несколько приложений и в Foreground будет какое-то другое окно ?
Конечно же вариант совершенно некорректный, по многим причинам. Он лишь иллюстрирует, что возможно получить хендл консоли.
Более правильно это можно сделать с помощью EnumChildWindows — это немного сложнее, но зато абсолютно надежно и корректно.
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.