Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Консольное приложение


Compton's G ©   (2006-01-14 19:01:00) 

Как, скрыть работу консольного приложения, я имею введу, отсутсвие видимоси окна.


begin...end   (2006-01-14 21:13:00) [1]

> palva ©   (14.01.06 21:11) [14]

> Тогда можно так

В Win2k и выше -- можно.


Compton's G   (2006-01-14 21:11:00) [2]


> Кефир87 ©   (14.01.06 20:48) [12]
>
> ...Убрать директиву


спасибо


palva   (2006-01-14 21:11:00) [3]

begin...end ©   (14.01.06 20:15) [9]
> Так можно скрыть совсем не то окно, которое нужно.
Тогда можно так:

function GetConsoleWindow: Hwnd; external 'kernel32.dll';
...
begin
 w := GetConsoleWindow;
 ...
 //  ShowWindow(w, SW_HIDE);
 SendMessage(w, WM_SYSCOMMAND, SC_MINIMIZE, 0);

Кстати, SendMessage сворачивает окно на панель задач, а при использовании ShowWindow окно полностью исчезает и задачу приходится убивать из диспетчера задач.


Кефир87   (2006-01-14 20:48:00) [4]

...Убрать директиву {$APPTYPE CONSOLE}8))


begin...end   (2006-01-14 20:25:00) [5]

> Compton's G   (14.01.06 20:19) [10]

Можно создать просто приложение (без окон). Писать код в файле проекта (dpr), между begin и end.


Compton's G   (2006-01-14 20:19:00) [6]


> Если окно консоли вообще не нужно, зачем тогда создавать
> именно консольное приложение?


а что для этого подойдел лучше всего?


begin...end   (2006-01-14 20:15:00) [7]

> Джо ©   (14.01.06 19:49) [5]
> palva ©   (14.01.06 20:02) [6]

Так можно скрыть совсем не то окно, которое нужно.

> Compton's G   (14.01.06 20:12) [8]

Если окно консоли вообще не нужно, зачем тогда создавать именно консольное приложение?


Compton's G   (2006-01-14 20:12:00) [8]

... программа запускается, делает операции где-то секунду, и самозакрывается, вот, мне нужно, чтоб при работе программы, черное окошко консольного приложения  не появилось, даже на долю секунды.


Compton's G   (2006-01-14 20:09:00) [9]


>  H := GetForegroundWindow();
>  ShowWindow(H,SW_HIDE);


нет мне нужно, чтобы пользователь даже не подозревал, что программа запускается


palva   (2006-01-14 20:02:00) [10]

Джо ©   (14.01.06 19:49) [5]
Да, так, наверно, проще. А я имел ввиду такой код:

const
 WM_SYSCOMMAND: Word = $0112;
var
 w:HWND;
begin
 w := GetForegroundWindow;
 SendMessage(w, WM_SYSCOMMAND, SC_MINIMIZE, 0);


Джо   (2006-01-14 19:49:00) [11]


 H := GetForegroundWindow();
 ShowWindow(H,SW_HIDE);


Compton's G   (2006-01-14 19:44:00) [12]

... я являюсь этим самым окном.

Да какое именно сообщение нужно послать, окну?


palva   (2006-01-14 19:33:00) [13]

Зависит от того, кто вы. Если оператор, то нажать кнопку мышкой, если вы являетесь этим самым консольным приложением, то послать сообщение окну, если другая программа, то найти окно и тоже послать ему сообщение.
Вы напишите подробнее и вам сразу ответит куча народу.


Compton's G   (2006-01-14 19:23:00) [14]

Каким образом свернуть?


palva   (2006-01-14 19:19:00) [15]

Свернуть окно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо