GetConsoleTitle()
Я видел код, который выполняет
if (!GetConsoleTitle(NULL, 0) && GetLastError() == ERROR_SUCCESS) {
// Console
} else {
// GUI
}
НО ... Я обнаружил, что AttachConsole()
более полезен
В C ++ (вне головы, я не программист C ++)
if (!AttachConsole(ATTACH_PARENT_PROCESS)) {
// GUI
} else {
// Console, and you have a handle to the console that already exists.
}
Более эффективен. Кроме того, если вы попали в среду с графическим интерфейсом и хотели бы оставаться там как можно дольше, но позже обнаружите что-то катастрофическое, что действительно может использовать дамп в окне консоли (вы не можете быть выписаны, написав поле редактирования окно, чтобы привязать его к системному журналу NT или присоединить к нему и выбросить MessageBox()
), а затем вы сможете AllocConsole()
позже в процессе, когда методы GUI потерпели неудачу.