Как скрыть / показать окно cmd? - PullRequest
0 голосов
/ 03 февраля 2011

Я создал консольное приложение Win32 и скрыл окно cmd.Так что, если мое приложение запущено, его могут видеть только запущенные процессы.Если есть способ, я хочу изменить свое приложение следующим образом: если я определяю параметр, он должен показывать окно cmd, но если я не использую этот параметр, он должен работать без отображения окна cmd.

Я отключил показ окна cmd следующим образом:

#pragma comment( linker, "/SUBSYSTEM:WINDOWS" )

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
 ...
 ...
 ...
}

Кто-нибудь знает, как это сделать?

kampi

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Параметр lpCmdLine для WinMain предоставляет вам доступ к командной строке программы.Вы можете просто прочитать его значение и затем предпринять соответствующее действие в зависимости от его значения.

РЕДАКТИРОВАТЬ: Фактическая механика отображения консоли в Windows немного хитрая.Вы должны создать консоль, а затем перенаправить стандартные выходные потоки для записи в нее.Здесь большое обсуждение этого здесь , в котором подробно описывается, как это работает, и какой код вам необходим для выполнения работы.

Надеюсь, это поможет!

0 голосов
/ 03 февраля 2011

Поскольку вы сказали в комментарии в другом ответе, что вы можете хорошо управлять частью параметра командной строки, вот другая часть, которая может вам помочь.Я надеюсь, вам нужно скрыть окно консоли, верно?

В любом случае, попробуйте следующее (не проверено):

ShowWindow(GetConsoleWindowHandle(),SW_HIDE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...