![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Консольное приложение
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]Свернуть окно.