C/C++

FreeConsole() с++ обясните зачем нужна эта функция в интеренете не понял обьяснение видео тоже не нашол нигде про нее

BN
Boris Novikov
71
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Процесс можно подключить не более чем к одной консоли. Процесс может использовать функцию FreeConsole для отсоединения от консоли. Если другие процессы совместно используют консоль, консоль не уничтожается, но процесс, который вызвал FreeConsole , не может ссылаться на нее. Консоль закрывается, когда последний присоединенный к ней процесс завершается или вызывает FreeConsole. После того как процесс вызывает FreeConsole, он может вызвать функцию AllocConsole для создания новой консоли или AttachConsole для подключения к другой консоли. Если вызывающий процесс еще не подключен к консоли, запрос FreeConsole по-прежнему будет выполнен успешно.
https://learn.microsoft.com/ru-ru/windows/console/freeconsole
ДЛ
Дмитрий Легостаев
53 321
Лучший ответ
Boris Novikov я же написал что в инете не понял а ты просто с отуда копируешь
Boris Novikov https://pastebin.com/ARWsSpF1 а зачем ее используют в даном случае .Некакую гадость не задумал просто стало интересно как кейлогеры работают .По сылке код кейлогера.
Если с консолью работает один процесс, то после завершения процесса, окно консоли закрывается.

Каждый процесс может работать только с одной консолью. Однако к одной и той же консоли могут присоединиться несколько процессов. Если какой-то процесс завершается, то во избежание закрытия консоли, он обязан отсоединиться от неё. Функция FreeConsole() выполняет такое отсоединение. Это даёт понять консоли, что она свободна от данного процесса. Если к консоли присоединены другие процессы, то она не закрывается, в противном случае – закроется. Процесс может и не завершаться, но, при необходимости, вызвав функцию FreeConsole(), отсоединиться от консоли.

Пример, как эта функция работает:
 #include  
#include
using namespace std;
int main() {
puts("Hello world!");
Sleep(3000);
FreeConsole();
AllocConsole();
puts("Goodbye world!");
Sleep(3000);
FreeConsole();
AllocConsole();
puts("Hello again!");
system("pause > nul");
}
FreeConsole это монада по отношению к IO функционалам
___Рамин ___
___Рамин ___
8 869
Free это типо бесплатно
Здравствуйте, правильно нашёл, Freeconsole c++ это функция, применяющаяся в программе windows, чтобы отсоединиться от консоли
Boris Novikov Здраствуйте
Boris Novikov Здравствуйте