控制台
来源:互联网 发布:网站用什么源码好 编辑:程序博客网 时间:2024/04/27 22:10
获取控制台标题栏
char szbuf[256]={0};GetConsoleTitleA(szbuf, 256);printf("%s\n\n", szbuf);
设置控制台标题栏
char szbuf1[]={"zhangtao"};SetConsoleTitleA(szbuf1);
设置控制塔 的文本色和背景色
#include <stdio.h>#include <Windows.h>//一共有16种文字颜色,16种背景颜色,组合有256种。传入的值应当小于256BOOL SetConsoleColor(WORD wAttributes){HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);if (hConsole == INVALID_HANDLE_VALUE)return FALSE;return SetConsoleTextAttribute(hConsole, wAttributes);}int main(){// 设置文本色和背景色SetConsoleColor(FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_BLUE);printf("控制台下红字蓝底:\n");printf("MoreWindows\n");printf("-----------------------------------\n\n");// 恢复文本色和背景色SetConsoleColor(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); printf("还原为控制台下默认文字背景颜色:\n");printf("MoreWindows\n");printf("-----------------------------------\n\n");return 0;}
如果要使控制台窗口支持中文显示,请使用如下方法:
void Ctest1Dlg::OnBnClickedBtnShow(){int a = 3, b = 4;int sum = a + b;AllocConsole();// 开启控制台窗口freopen( "CONOUT$","w",stdout);printf("%d and %d is total: %d\n", a,b,sum);FreeConsole();// 关闭控制台窗口(一般不需要,因为可以手动关闭)}
如果控制台窗口不需要中文显示,可以使用如下方法:
void Ctest1Dlg::OnBnClickedBtnShow(){int a = 3, b = 4;int sum = a + b;AllocConsole();// 开启控制台窗口_cprintf("%d and %d is total: %d\n", a,b,sum);FreeConsole();// 关闭控制台窗口(一般不需要,因为可以手动关闭)}
CUI程序获取的方法:
#include "stdafx.h"#include <stdlib.h>#include <Windows.h>void DumpEnvVariables(PTSTR pEnvBlock[]){PTSTR* pElement = (PTSTR*)pEnvBlock;while (*pElement != NULL){_tprintf(_T("%s\r\n"), *pElement);// 向控制台窗口输出环境变量(格式:变量名=变量值)++pElement;}}// 建立控制台程序是,编译器默认情况下只生成前两个参数,env参数是我手动添加的,// 该参数存储的就是当前进程的环境变量,通过解析该变量的值,就可以得到环境变量的值int _tmain(int argc, _TCHAR* argv[], TCHAR* env[]){DumpEnvVariables(env);system("pause");return 0;}
GUI程序获取方法:
void Ctest1Dlg::DumpEnvironmentStrings(){// 获取完整的环境块PTSTR pEnvBlock = GetEnvironmentStrings();// 将pEnvBlock变量的值备份到的pszCurrent中目的://a、用pEnvBlock释放该内存块。如果pEnvBlock的值被改变了,就没法释放该内存,因为找不到内存的起始地址//b、用pszCurrent来遍历环境变量PTSTR pszCurrent = pEnvBlock;HRESULT hResult = S_OK;PCTSTR pszPos = NULL;int current = 0;while (pszCurrent != NULL){// 过滤掉不属于环境变量的字符串// 为什么要用“=”来判断当前字符串是否是环境变量?// 答:因为环境变量是以“变量名=变量值”形式存在的,不会以“=”开头,所以可以用这个办法来判断if (*pszCurrent != _T('=')) // 打印环境变量{TRACE(pszCurrent);// 在调试窗口下可以看到打印出来的环境变量以及对应的值(格式为:变量名=变量值)TRACE(_T("\r\n"));}else // 打印非环境变量{TRACE(pszCurrent);TRACE(_T("\r\n"));}// 遍历下一个变量++current;// 移动到字符串的末尾while (*pszCurrent != _T('\0'))++pszCurrent;++pszCurrent;// 检查释放是最后的字符串if (*pszCurrent == _T('\0'))break;}// 释放环境块FreeEnvironmentStrings(pEnvBlock);}
windows程序如何获取进程的命令行
// 获得命令行PTSTR pCmdLine = GetCommandLine();// 解析命令行并返回,其中iNumArgs存储命令行的实参数目int iNumArgs;PWSTR *pstr = CommandLineToArgvW(pCmdLine, &iNumArgs); // pCmdLine:in iNumArgs:out// 遍历解析后的命令行CString str;for (int i = 0 ; i < iNumArgs ; ++i){str = pstr[i];MessageBox(str);}// 释放CommandLineToArgvW函数在内部分配的内存(CommandLineToArgvW函数是在内部分配一块内存,来存储解析后的命令行,。如果这块内存不手动释放,那么只能等到进程结束时才能释放)HeapFree(GetProcessHeap(), 0, pstr);
0 0
- 控制台
- 控制台
- 控制台
- 控制台
- 控制台
- 认识控制台-什么是控制台?
- 控制台和控制台程序
- C#控制台 控制台清屏
- C#控制台 控制台暂停
- 创建控制台
- 控制台句柄
- 控制台句柄
- 创建控制台
- 控制台应用程序
- 认识控制台-控制台句柄、附着到控制台、关闭控制台
- 控制台程序
- 控制台句柄
- js控制台
- 最简单的视音频播放示例5:OpenGL播放RGB/YUV
- iOS - 晃动检测
- [Leetcode] Edit Distance
- java的一些面试用的信息--基础篇
- 年龄与疾病
- 控制台
- iOS -沙盒中文件操作
- 成绩判断
- 奥运奖牌计数
- 人民币支付
- [Leetcode] Search a 2D Matrix
- 【基础算法】搜索-二分搜索
- [Leetcode] Search in Rotated Sorted Array II
- 【Leetcode】Search Insert Position