Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Example | Скрываем чужую консоль

Ответить
Настройки темы
Разное - Example | Скрываем чужую консоль

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85


Конфигурация

Профиль | Отправить PM | Цитировать


Данная малюсенькая прога призвана решить проблему, описанную здесь. Действительно, иногда "болтающееся" черное окно консоли раздражает. Поэтому мы напишем хитрую "обертку" для конcольных приложений, которые запускают программу, но прячут её основное консольное окно.

Код: Выделить весь код
#include <process.h> 
#include <stdio.h> 
#include <windows.h> 
 
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR lpszCmd,int nCmd) 
{ 
    STARTUPINFO si; 
    PROCESS_INFORMATION pi; 
 
    /* create process with new console */ 
    memset(&si,0,sizeof(si)); 
    si.cb = sizeof(si); 
    si.dwFlags = STARTF_USESHOWWINDOW; 
    si.wShowWindow = SW_HIDE; 
    if( CreateProcess( NULL, lpszCmd, 
                       NULL, NULL, FALSE, CREATE_NEW_CONSOLE, 
                       NULL, NULL, &si, &pi ) ) 
    { 
        CloseHandle( pi.hProcess ); 
        CloseHandle( pi.hThread ); 
    } 
 
    /* terminate this */ 
    return 0; 
}
Скачать

FAQ

Q. И как использовать?
A. Компилите. Кладёте результат (например hidec.exe) в c:\windows\system32. Вместо стандартного запуска "целевого" консольного приложения идёте в Пуск->Выполнить, набираете hidec.exe путь\имя_целевого_приложения. Консольное приложение будет запущено, но его окна Вы не увидите.

Q. Эй, а где оно? И как его теперь закрыть?
A. Посмотрите через Ctrl+Alt+Del. Снимать с выполнение - там же. Если "целевое" приложение умеет само закрываться после окончания своей работы, то оно так и сделает.

Q. А может, лучше _default.pif настроить, или ярлык с определёнными свойствами сделать?
A. Я никого не заставляю делать именно по-моему.

Q. Как компилить?
A. Я использую Visual C++ Toolkit. Компиляция:
cl hide_console.cpp /GA /O1 /link /defaultlib:advapi32.lib /defaultlib:user32.lib

Q. И что, я в своих консольных приложениях такое должен делать?
A. Нет. В "своём" консольном приложении используёте FreeConsole(), или пишите через WinMain, а не main(). Данная "обёртка" нужна для чужих приложений.


Q. Можно использовать в моих программах куски текста?
A. Да, сделано специально для посетителей www.oszone.net

Q. У меня ещё вопросы...
A. Задавайте здесь, я отвечу.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:40, 29-06-2004

 

Пользователь


Сообщения: 117
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Друзья!

А если использовать

CreateWindowStation
SetProcessWindowStation

то пусть они все свои окна и открывают...

но в другой Station...

её же не видно...

MSDN, короче...

Отправлено: 12:37, 22-12-2005 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Когда мне нужно было скрыть консоль - я делал ShowWindow(..., SW_HIDE);
Вроде игры с настройками ярлыков помогали.

Отправлено: 13:25, 22-12-2005 | #32


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Что-то ссылка на hidec.exe ( http://hasherfrog.narod.ru/RunHiddenConsole.exe ) битая.

Отправлено: 11:34, 13-06-2009 | #33


(*.*)


Administrator


Сообщения: 36471
Благодарности: 6669

Профиль | Сайт | Отправить PM | Цитировать


domo22, см. Скрытие консольных окон

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 23:16, 13-06-2009 | #34


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


domo22, Ещё вариант - Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 23:33, 13-06-2009 | #35


Ветеран


Сообщения: 570
Благодарности: 236

Профиль | Отправить PM | Цитировать


Drongo, Прчел много и перепробовал на тему Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)? Ответа не нашел .Подскажите: без помощи дополнительных программ не реально запустить start.cmd для форматирования диска без окна консоли?
Код: Выделить весь код
@ ECHO OFF  format M: /FS:FAT32 /Y  cmdow @ / HID   del start.cmd

Отправлено: 13:21, 04-08-2009 | #36


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата korsar77:
перепробовал на тему Как скрыть окно в котором выполняется пакетный файл (*.bat или *.cmd)? Ответа не нашел »
Ну как же? Скачиваете Bat To Exe Converter устанавливаете настройки создания в соответствии с комментарием 29. Устанавливаем переключатель в положение Invisible application и всё, создаём исполнимый файл, но в этом случае не должно быть команд на паузы или запросов с взаимодействием с пользователем (окно ведь будет скрыто)



А так же тема - [решено] Как скрыть консольное окно? -> Скрытие консольных окон

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Последний раз редактировалось Drongo, 04-08-2009 в 15:06. Причина: Чуть поправил совет.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:20, 04-08-2009 | #37


Ветеран


Сообщения: 570
Благодарности: 236

Профиль | Отправить PM | Цитировать


Drongo, Большо спасибо!!! Все получилось.Каюсь виной всему моя невнимательность

Отправлено: 14:36, 04-08-2009 | #38


Ветеран


Сообщения: 570
Благодарности: 236

Профиль | Отправить PM | Цитировать


Drongo, Не пойму в чем дело сейчас попробЫвал- опять выскакивает окно .Может что нета пишу

Последний раз редактировалось korsar77, 05-09-2009 в 22:05.


Отправлено: 18:30, 04-08-2009 | #39


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


korsar77, Ваш скрипт вроде бы взаимодействует с пользователем, просит нажать на клавишу "Y". Приведите ваш скрипт целиком.
И главное.
Цитата korsar77:
Не пойму в чем дело сейчас попробЫвал- опять выскакивает окно .Может что нета пишу »
Я не знаю, что вы пишите и делаете, вы этого нам не говорите. Может что-то не то. Подробно опишите последовательность ваших действий.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:14, 04-08-2009 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Example | Скрываем чужую консоль

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Консоль Windows Sweet_Lady Хочу все знать 13 27-03-2009 21:28
Прочее - [решено] last login..(консоль) slaine Общий по Linux 2 24-11-2008 18:21
[решено] консоль ММС и удаленное управление nedrug Microsoft Windows 2000/XP 6 20-03-2007 16:21
[решено] Консоль с добиванием табом как в Linux? andrey_tor Microsoft Windows 2000/XP 5 23-02-2006 12:32
Delphi - Delphi: как закрыть чужую прогу pvr30 Программирование и базы данных 13 06-08-2003 19:15




 
Переход