35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#include <Windows.h>
|
|
|
|
// https://stackoverflow.com/a/57241985
|
|
void CreateConsole()
|
|
{
|
|
if (!AllocConsole()) {
|
|
// Add some error handling here.
|
|
// You can call GetLastError() to get more info about the error.
|
|
return;
|
|
}
|
|
|
|
// std::cout, std::clog, std::cerr, std::cin
|
|
FILE* fDummy;
|
|
freopen_s(&fDummy, "CONOUT$", "w", stdout);
|
|
freopen_s(&fDummy, "CONOUT$", "w", stderr);
|
|
freopen_s(&fDummy, "CONIN$", "r", stdin);
|
|
//std::cout.clear();
|
|
//std::clog.clear();
|
|
//std::cerr.clear();
|
|
//std::cin.clear();
|
|
|
|
|
|
/*// std::wcout, std::wclog, std::wcerr, std::wcin
|
|
HANDLE hConOut = CreateFile(_T("CONOUT$"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
|
HANDLE hConIn = CreateFile(_T("CONIN$"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
|
|
SetStdHandle(STD_OUTPUT_HANDLE, hConOut);
|
|
SetStdHandle(STD_ERROR_HANDLE, hConOut);
|
|
SetStdHandle(STD_INPUT_HANDLE, hConIn);
|
|
std::wcout.clear();
|
|
std::wclog.clear();
|
|
std::wcerr.clear();
|
|
std::wcin.clear();
|
|
*/
|
|
}
|