ТАК Я получил приложение формы c++/cli
, в котором есть флажок (отладка на китайском языке) с именем checkBox3
внутри моего приложения:
![](https://i.imgur.com/wi1SMdu.png)
Это код флажка:
private: System::Void checkBox3_CheckedChanged(System::Object^ sender, System::EventArgs^ e) {
//set the debug flag
g.debug = !g.debug;
HWND allocatedConsole = NULL;
if (this->checkBox3->Checked == true)
{
AllocConsole();
freopen("CONOUT$", "w", stdout);//use cout
}
else {
allocatedConsole = GetConsoleWindow();
std::cout << allocatedConsole << std::endl;
PostMessageA(allocatedConsole, WM_CLOSE, 0, 0);
FreeConsole();
}
}
. При этом каждый раз, когда я нажимаю на флажок, он выделяет консоль, а затем, когда я снимаю флажок, он сохраняет H-окно консоли, используя * 1011. * функция внутри allocatedConsole
, а затем пытается удаленно закрыть allocatedConsole
, используя функцию PostMessageA
с сообщением WM_CLOSE
, и, наконец, оно освобождается.
Однако, когда я сниму флажок это бесплатно консоль, но не закрывает ее вообще .
Заранее спасибо.