补充:https://www.cnblogs.com/wind-net/p/3153971.html
2.通过配置相关属性
通过在 属性->配置属性->生成事件->后期生成事件->命令行 中添加
editbin /subsystem:console $(OutDir)\$(TargetName).exe
使用cout或者printf向控制台输出 也可以通过获取标准输出句柄然后调用WriteConsole
方式输出
1 void CtestDlg::OnBnClickedButtonwriteconsole() 2 { 3 printf("printf-->Hello World!!\n\n"); // 写数据 4 5 HANDLE outPut; 6 outPut = GetStdHandle(STD_OUTPUT_HANDLE); 7 CString strtmp; 8 strtmp = "WriteConsole-->Hello World! \n\n"; 9 WriteConsole(outPut, strtmp, strtmp.GetLength(), NULL, NULL); 10 11 std::cout << "-->std::cout << \n\n--------------\n\n\n\n"; 12 }
关闭控制台窗口会导致应用全部关闭,修改控制台标题,去除关闭菜单!
1 BOOL CtestDlg::OnInitDialog() 2 { 3 CDialog::OnInitDialog(); 4 ... 5 char szBuf[100]; 6 GetConsoleTitle(szBuf, 100);//得到控制台标题 7 HWND hwnd = ::FindWindow(NULL, szBuf);//查找控制台 8 HMENU hmenu = ::GetSystemMenu(hwnd, FALSE);//获取菜单 9 ::RemoveMenu(hmenu, SC_CLOSE, MF_BYCOMMAND);//移除关闭 10 11 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE 12 }
这个控制台在代码编译后链接时加入的。
有时候需要在程序编译之前或之后做一些操作。
https://www.cnblogs.com/suntanyong88/articles/10422660.html
原文地址:https://www.cnblogs.com/qq8533/p/12200420.html
时间: 2024-10-03 22:29:23