Win32应用程序中创建控制台窗口
来源:互联网 发布:python安卓版 编辑:程序博客网 时间:2024/06/01 08:50
在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);
- Win32应用程序中创建控制台窗口
- Win32应用程序中创建控制台窗口
- 在Win32应用程序中添加控制台窗口
- 在Win32应用程序中添加控制台窗口
- Win32控制台工程中创建窗口
- Win32控制台工程中创建窗口
- Win32应用程序创建控制台
- 如何隐藏win32控制台应用程序的窗口
- win32控制台应用程序不显示窗口启动
- Win32中创建窗口
- 从win32控制台创建窗口过程
- 在win32 应用程序中使用控制台
- 在win32控制台应用程序中实现定时器
- 在win32控制台应用程序中实现定时器
- 在win32控制台应用程序中实现定时器
- 在win32控制台应用程序中实现定时器
- Win32控制台应用程序隐藏弹出的那个DOS窗口
- VS中win32应用程序和win32控制台程序的差别
- (zz)android HAL实例解析
- windowsAPI之键盘输入
- C#程序的编译和执行
- 获取命令行参数
- iphone Back Buttons
- Win32应用程序中创建控制台窗口
- sql2005 provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错
- android hw_get_module分析
- 不同EXE文件的调用
- csc.exe的环境变量设置
- WindowsAPI之按钮
- GetMessage和PeekMessage
- iphone Quickie: URL Encoding
- 简单创建DLL