c语言控制台标准,【C语言】【控制台】--系统信息.docx

C

光影

C 语言】【控制台】--系统信息获取

01.程序简介

程序名称:系统信息

编译器:vs2010(其它也可以……)

程序大小:115K

文件包括:系统信息.exe, skinh.she,SkinH.dll,msvcr100.dll

程序界面:全屏模式

02.相关技术

01. 程序界面全屏模式:

一开使用 SetConsoleDisplayMode 设置全屏模式,但是不成功。GetLastError 得到的结果是系统不支持这个函数(我的 WIN7 64 位)。于是使用 API 函数 对黑窗体进行全屏显示。

//得到窗体的句柄

HWND hwnd=GetForegroundWindow(); //设置标题

SetWindowTextA(hwnd,"系统信息"); //得到屏幕的长宽

int x=GetSystemMetrics(SM_CXSCREEN)+300, y=GetSystemMetrics(SM_CYSCREEN)+300;

//设置控制台的宽度和高度

char setting[30];

sprintf(setting,"mode con:cols=%d lines=%d",x,y); system(setting);

//置顶窗口

::SetWindowPos(hwnd, HWND_TOPMOST,0,0,x+300,y+300,NULL);

//去掉标题

SetWindowRgn(hwnd, CreateRectRgn(30,30,x+1300,y+1300),true);

//移动窗体。实现全屏

MoveWindow(hwnd,-30,-40,x+300,y+300,true);

02. 相关的自定义函数。

得到操作系统版本信息:

void GetVersionInfo();

得到系统硬件信息:

void SystemInfonation();

得到电脑名和用户名:

void GetUser();

得到鼠标的速度

void GetMouseMoveSpeed();

得到当前系统时间

void GetSystemTimeInfo();

得到摄像头信息

void GetCapInfo();

得到磁盘信息:

void GetDiskTypeInfo();

得到当前进程:

void GetProcessInf();

主函数里面使用循环,创建菜单(和那啥 XX 管理系统之类的一样)。然后 根据用户输入的数值调用以上不同的函数。

003. 获取当前系统版本

获取当前系统版本函数

BOOL GetVersionEx(

LPOSVERSIONINFO lpVersionInformation );

参数一:结构体指针

指向的结构体

typedef struct _OSVERSIONINFO{

DWORD dwOSVersionInfoSize; 本结构体大小调用前必须设置

DWORD dwMajorVersion; 操作系统主版本号 5xp

DWORD dwMinorVersion; 操作系统次版本号 1

DWORD dwBuildNumber; 操作系统编译版本号

DWORD dwPlatformId; 操作系统的平台

TCHAR szCSDVersion[ 128 ]; 指定安装在系统上的服务包 } OSVERSIONINFO;

记得使用结构体前需要初始化,即 ZeroMemory。

dwMajorVersion>=5的系统就是 XP以上(包括XP)的系统。 然后打印本系统的主版本号,此版本号等信息即可。

这个函数也是很常用的,用于检测系统版本。根据系统版本判断是否需要进行提权。

004. 系统硬件信息

获取系统硬件信息

VOID GetSystemInfo(

LPSYSTEM_INFO lpSystemInfo // 参数指向 SYSTEM_INFO 结构 );

参数指向结构 SYSTEM_INFO typedef struct _SYSTEM_INFO { union {

DWORD dwOemId;

struct {

WORD wProcessorArchitecture;// 处理器架构

WORD wReserved;

};

};

DWORDdwPageSize;// 内存分页大小

LPVOIDlpMinimumApplicationAddress;// 可以用内存起始

LPVOIDlpMaximumApplicationAddress;// 可用内存

DWORD_PTR dwActiveProcessorMask;

DWORDdwNumberOfProcessors;// 处理器个数

DWORDdwProcessorType;// 处理器类型

DWORDdw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值