Как определить: консольное или GUI?
Собственно как в рантайме определить, является ли запущенное приложение консольным или GUIшным?
AttachConsole
Смотрим что вернулось
If the specified process does not have a console, the error code returned is ERROR_INVALID_HANDLE (6).
Наверное самым документированным способом может оказаться
Смотрим что вернулось
Цитата:
If the specified process does not have a console, the error code returned is ERROR_INVALID_HANDLE (6).
И затем FreeConsole если успешно захватили консоль (ERROR_SUCCESS)
Только одно ограничение. У нашего приложения консоли не должно быть, либо её перед проверкой освобождать (FreeConsole) а после снова создавать AllocConsole
Если у нашего приложения будет SeDebugPrivilege, то можно будет подключаться(проверять) и к консоли системных процессов, иначе будем получать ERROR_ACCESS_DENIED.
Можно еще через GetStdHandle(), наверное.
моя тема как-то прояснит ситуацию
(надо же,она на 1й странице подписки:))
Думаю,
(надо же,она на 1й странице подписки:))