Win32应用程序中创建控制台窗口
2013-03-04 01:30
344 查看
在Win32应用程序上默认是没有控制台窗口的,但经常需要用来调试。如何打开呢?
1.设置两个全局的句柄,标准输入和输出。
HANDLE hStdin;
HANDLE hStdout;
2.建立控制台,并获得句柄(顺序很重要,AllocConsole放在后面会使得hStdin和hStdout获取不到句柄)
AllocConsole();
hStdin = GetStdHandle(STD_INPUT_HANDLE);
hStdout =GetStdHandle(STD_OUTPUT_HANDLE);
3.输出
char* buffer ="lzh123";
DWORD length =strlen(buffer);
WriteFile(hStdout,buffer,length,&length,0);
4.输入(输入读到buffer中)
char buffer[5];
DWORD length = 5;
ReadFile(hStdin,buffer,length,&length,0);
注意:如果输入
dd(按回车)
则数组buffer为:
buffer[0] = ‘d’;
buffer[1] = ‘d’;
buffer[2] = ‘\r’;
buffer[3] = ‘\n’;
buffer[4] = ????;
所以通常在输入前将buffer[4] = ‘\0’;
5.释放控制台
FreeConsole();
最好的方法:
AllocConsole();
freopen("conin$","r+t",stdin);
freopen("conout$","w+t",stdout);
//这样printf,scanf,cin,cout都可以用
int lzh;
cout<<"111"<<endl;
cin>>lzh;
cout<<"thisis "<<lzh<<endl;
fclose(stdin);
fclose(stdout);
转帖:http://blog.csdn.net/lzhlzz/article/details/6593614
1.设置两个全局的句柄,标准输入和输出。
HANDLE hStdin;
HANDLE hStdout;
2.建立控制台,并获得句柄(顺序很重要,AllocConsole放在后面会使得hStdin和hStdout获取不到句柄)
AllocConsole();
hStdin = GetStdHandle(STD_INPUT_HANDLE);
hStdout =GetStdHandle(STD_OUTPUT_HANDLE);
3.输出
char* buffer ="lzh123";
DWORD length =strlen(buffer);
WriteFile(hStdout,buffer,length,&length,0);
4.输入(输入读到buffer中)
char buffer[5];
DWORD length = 5;
ReadFile(hStdin,buffer,length,&length,0);
注意:如果输入
dd(按回车)
则数组buffer为:
buffer[0] = ‘d’;
buffer[1] = ‘d’;
buffer[2] = ‘\r’;
buffer[3] = ‘\n’;
buffer[4] = ????;
所以通常在输入前将buffer[4] = ‘\0’;
5.释放控制台
FreeConsole();
最好的方法:
AllocConsole();
freopen("conin$","r+t",stdin);
freopen("conout$","w+t",stdout);
//这样printf,scanf,cin,cout都可以用
int lzh;
cout<<"111"<<endl;
cin>>lzh;
cout<<"thisis "<<lzh<<endl;
fclose(stdin);
fclose(stdout);
转帖:http://blog.csdn.net/lzhlzz/article/details/6593614
相关文章推荐
- Win32应用程序中创建控制台窗口
- 如何隐藏win32控制台应用程序的窗口
- 在Win32应用程序中添加控制台窗口
- Visual Studio 2015专业版创建Win32控制台应用程序,C,C++源文件
- win32控制台应用程序不显示窗口启动
- 在Win32应用程序中添加控制台窗口
- Win32控制台工程中创建窗口
- 从win32控制台创建窗口过程
- 《Visual c++2013入门经典(第7版)》上机练习:为 Win32 控制台应用程序创建项目
- Visual Studio 2015专业版创建Win32控制台应用程序,C,C++源文件
- Win32控制台工程中创建窗口
- Win32应用程序创建控制台
- 【VC编程】笔记1--创建一个Win32的应用程序,并显示创建的窗口和菜单
- <转载>Win32控制台工程中创建窗口
- Win32控制台应用程序如何更换图标
- 如何创建状态机工作流控制台应用程序
- C++Directx11开发笔记一:Win32应用程序窗体创建
- Win32编程 创建窗口第一步 注册窗口类
- 如何用 Win32 APIs 枚举应用程序窗口和进程
- win32窗口的创建,GDI简单的绘图操作