下面代码是给程序加入控制台

可以使用console的一系列函数了

例如 printf(); 以及一些控制台颜色函数

if (!AllocConsole()) { // MyDbgPrint(“创建调试控制台失败”); } else { char szBuff[128]; wsprintfA(szBuff,”游戏调试输出窗口 进程ID:%d”, GetCurrentProcessId()); SetConsoleTitleA(szBuff); //设置控制台标题 freopen(“conin$”, “r+t”, stdin); freopen(“conout$”, “w+t”, stdout); freopen(“conout$”, “w+t”, stderr); }

给gui程序加入这个 调试程序非常方便了

下面是关闭控制台

fclose(stderr); fclose(stdout); fclose(stdin); FreeConsole();

还有一种模式是 把控制台的输出 附加到 父进程的控制台里面

if (!AttachConsole(ATTACH_PARENT_PROCESS)) { MyDbgPrint(“附加到父进程控制台失败”); } else { // char szBuff[128]; // wsprintfA(szBuff,”游戏调试输出窗口 进程ID:%d”, // GetCurrentProcessId()); // SetConsoleTitleA(szBuff); freopen(“conin$”, “r+t”, stdin); freopen(“conout$”, “w+t”, stdout); freopen(“conout$”, “w+t”, stderr); }

这样 此进程的输出就会转到父进程的控制台内了

感谢您的阅读,本文由 smallwhite's Blog 版权所有。如若转载,请注明出处:smallwhite's Blog(https://smallwhite.ml/pub/uncategorized/gei-gui-cheng-xu-jia-ru-kong-zhi-tai-chuang-kou-fang-bian-diao-shi.html
解决 VMware 虚拟机 中被提示 Themida Sorry, this application cannot run under a Virtual Machine (使大唐无双在虚拟机内运行)
创建进程置新进程的父进程为指定进程 附 一个提权函数 一个进程名寻进程ID函数