![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Консоль [D5, D7, Win95/98, WinXP]
otistarda © (2003-10-08 16:13:00)
Господа, а можно ли спрятать "окно" консольного приложения?
otistarda (2003-10-10 21:02:00) [1]
ну и какой ты, к черту мастер? Знаешь в чем дело - ткни носом, e-mail есть.
Ketmar (2003-10-09 18:59:00) [2]
>otistarda (09.10.03 13:36) [11]
специально для тех, кто в бронепоезде: уже ответили. советую выпрямить руки.
кстати, заодно советую разобраться, чем отличается хэндл ОКНА от хэндла ПОТОКА ВВОДА/ВЫВОДА.
опосля этого -- welcome back.
Nick Denry (2003-10-09 13:58:00) [3]
Ты задачку подробнеее опиши. А то и возникают всякие - разные предположения у людей...
otistarda (2003-10-09 13:57:00) [4]
Специально для nikkie могу предложить 2-3 чата, где можно поглумиться.
<pre>
Но, проблема не решена.
У меня когда-то был не то plugin для Far,
ни то мулька, которая прятала задачу
(а может быть только его) в SysTray.
Так что, Господа, проблема имеет решение, но как???
</pre>
otistarda (2003-10-09 13:36:00) [5]
Еще раз прошу прощения, я сначала "по запарке" не понял идеи что "Удалить {$APPTYPE CONSOLE}" - это т.е.не создавать вобще ?
Nick Denry (2003-10-09 13:06:00) [6]
Подробнее задчу...
nikkie (2003-10-09 12:20:00) [7]
криво...
как написал так и работает
otistarda (2003-10-09 12:09:00) [8]
Пардон, не ругается при компиляции, но работает криво.
Delirium (2003-10-09 11:47:00) [9]
"что при удалении {$APPTYPE CONSOLE} приложение даже не ругается (хотя, вроде, должно), продолжая вести себя так же" - так-же это как? Нижеприведённый код не создаёт консоли в принципе.
program Project1;
uses
SysUtils, Dialogs;
begin
ShowMessage("Никаких консолей!");
end.
otistarda (2003-10-09 11:37:00) [10]
Дело в том, что в консоли можно создать что угодно (TЧтоУгодно.Create(...)), но как оказалось, для Console принцыпы Win не работают: например, для опеределения Handle работает только -> СМ. ВЫШЕ, а Application.Handle вернет 0. Кроме того, консолью, похоже, не интересуется никого в этом мире, т.к. в инете она (консоль) почти не рассматривается, а кто знает - тот, видимо, молчит.
И, наконец, самое обидное то, что при удалении {$APPTYPE CONSOLE} приложение даже не ругается (хотя, вроде, должно), продолжая вести себя так же.
otistarda (2003-10-09 11:37:00) [11]
Дело в том, что в консоли можно создать что угодно (TЧтоУгодно.Create(...)), но как оказалось, для Console принципы Win не работают: например, для опеределения Handle работает только -> СМ. ВЫШЕ, а Application.Handle вернет 0. Кроме того, консолью, похоже, не интересуется никого в этом мире, т.к. в инете она (консоль) почти не рассматривается, а кто знает - тот, видимо, молчит.
И, наконец, самое обидное то, что при удалении {$APPTYPE CONSOLE} приложение даже не ругается (хотя, вроде, должно), продолжая вести себя так же.
Виктор Щербаков (2003-10-09 10:27:00) [12]
otistarda (09.10.03 09:29) [2]
FreeConsole тоже не работает?
Delirium (2003-10-09 10:18:00) [13]
Гхм, может просто выкинуть директиву {$APPTYPE CONSOLE} ?
otistarda (2003-10-09 09:29:00) [14]
Предложенный вариант не работает, а именно, не выполняется
ShowWindow(H,SW_HIDE);
Сам Handle можно выяснить и проще:
H:= GetStdHandle(STD_INPUT_HANDLE);
H:= GetStdHandle(STD_OUTPUT_HANDLE);
Или я чего-то не понял?
FireHack (2003-10-08 17:19:00) [15]
Наверно это не самый лучший способ, но ...:
var
H:HWND;
begin
AllocConsole;
SetConsoleTitle("MySuperConsoleWindow");
H:=FindWindow("ConsoleWindowClass","MySuperConsoleWindow");
ShowWindow(H, SW_HIDE);
..
FreeConsole;