1.Windows系统信息

1.1获取系统版本:


 
BOOL WINAPI GetVersionEx( __in_out LPOSVERSIONINFO lpVersionInfo );

lpVersionInfo

一个OSVERSIONINFOOSVERSIONINFOEX结构接收操作系统的信息。

在调用之前GetVersionEx功能,设置dwOSVersionInfoSize这种结构适当的成员

1.2获取系统硬件相关信息

void WINAPI GetSystemInfo(
__out LPSYSTEM_INFO lpSystemInfo
);

lpSystemInfo

一个指向SYSTEM_INFO接收的信息结构。

1.3获取系统目录等信息

1.3.1获取系统目录

UINT WINAPI GetSystemDirectory(
__out LPTSTR lpBuffer,
__in UINT USIZE
);

lpBuffer

的指针接收缓冲区的路径。此路径不以反斜杠结尾,除非系统目录的根目录。例如,如果系统目录被命名为C盘WINDOWS \ SYSTEM,该函数检索系统目录的路径是C:\ WINDOWS \ SYSTEM。

USIZE

缓冲器的最大大小,以返回tchars

1.3.2获取windows安装目录

UINT WINAPI GetWindowsDirectory(
__out LPTSTR lpBuffer,
__in UINT USIZE
);

lpBuffer

一个指向接收路径的缓冲区。此路径不以反斜杠结尾,除非Windows目录是根目录。例如,如果Windows目录名为Windows驱动器C,此函数获取Windows目录的路径为C:\ Windows操作系统。如果系统安装在C盘的根目录,检索路径是C:\。

USIZE

由指定的缓冲区的最大尺寸lpBuffer参数,在返回tchars。此值应设置为MAX _。

1.4获取用户名

BOOL WINAPI GetUserName(
__out LPTSTR lpBuffer,
__in_out LPDWORD lpnSize
);

1.5获取计算机名

BOOL WINAPI GetComputerName(
__out LPTSTR lpBuffer,
__in_out LPDWORD lpnSize
);

1.6设置计算机名

BOOL WINAPI SetComputerName(
__in LPCTSTR lpComputerName
);

1.7获得计算机名,NetBIOS的或者DNS名

BOOL WINAPI GetComputerNameEx(
__in COMPUTER_NAME_FORMAT NameType,
__out LPTSTR lpBuffer,
__in_out LPDWORD lpnSize
);

1.8系统颜色

DWORD WINAPI GetSysColor(
__in int nIndex
);
BOOL WINAPI SetSysColors(
__in int cElements,
__in const INT* lpaElements,
__in const COLORREF* lpaRgbValues
);

1.9获取系统各种尺度信息

int WINAPI GetSystemMetrics(
__in int nIndex
);

1.10获取更多系统参数,如鼠标,键盘等外设信息

BOOL WINAPI SystemParametersInfo(
__in UINT uiAction,
__in UINT uiParam,
__in_out PVOID pvParam,
__in UINT fWinIni
);

1.11设置和获取系统时间

void WINAPI GetLocalTime(
__out LPSYSTEMTIME lpSystemTime
);
BOOL WINAPI SetLocalTime(
__in const SYSTEMTIME* lpSystemTime
);
void WINAPI GetSystemTime(
__out LPSYSTEMTIME lpSystemTime
);
BOOL WINAPI SetSystemTime(
__in const SYSTEMTIME* lpSystemTime
);

1.11.1文件时间与系统时间互换

BOOL WINAPI SystemTimeToFileTime(
__in const SYSTEMTIME* lpSystemTime,
__out LPFILETIME lpFileTime
);
BOOL WINAPI FileTimeToSystemTime(
__in const FILETIME* lpFileTime,
__out LPSYSTEMTIME lpSystemTime
);

1.12获取系统环境变量

DWORD GetEnvironmentVariable(
LPCTSTR lpName, // address of environment variable name
LPTSTR lpBuffer, // address of buffer for variable value
DWORD nSize // size of buffer, in characters
);

参数:

lpName:要获取值的变量名字符串指针.

lpBuffer:接收变量值的字符串指针

nSize:接收变量值的内存大小.

返回值:

如果函数成功执行,则返回值是写入字符缓冲区的字符数量,但不包含'\0'字符.

如果没有找到所指的变量,则返回零.

如果字符缓冲区的大小小于变量值的长度,返回值为缓冲区的大小.


WINDIR: //系统目录 - C:\WINDOWS
SYSTEMROOT: //系统目录 - C:\WINDOWS
SYSTEMDRIVE: //系统根目录 - C:
HOMEDRIVE: //当前用户根目录 - C:
USERPROFILE: //当前用户目录 - C:\Users\Kandy
HOMEPATH: //当前用户路径 - \Users\Kandy
TMP: //当前用户临时文件夹 - C:\Users\Kandy\AppData\Local\Temp
TEMP: //当前用户临时文件夹 - C:\Users\Kandy\AppData\Local\Temp
APPDATA: //当前用户数据文件夹 - C:\Users\Kandy\AppData\Roaming
PROGRAMFILES: //程序默认安装目录 - C:\Program Files (x86)
COMMONPROGRAMFILES: //文件通用目录 - C:\Program Files (x86)\Common Files
USERNAME: //当前用户名 - Kandy
ALLUSERSPROFILE: //所有用户文件目录 - C:\ProgramData
OS: //操作系统名 - Windows_NT
COMPUTERNAME: //计算机名 - KANDY-PC
NUMBER_OF_PROCESSORS: //处理器个数 - 4
PROCESSOR_ARCHITECTURE: //处理器芯片架构 - x86
PROCESSOR_LEVEL: //处理器型号 - 6
PROCESSOR_REVISION: //处理器修订号 - 3c03
USERDOMAIN: //包含用户帐号的域 - KANDY-PC
COMSPEC: //C:\WINDOWS\system32\cmd.exe
PATHEXT: //执行文件类型 - .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

1.13注册表

1.13.1打开已存在键的注册表

LONG WINAPI RegOpenKeyEx(
__in HKEY hKey,
__in LPCTSTR lpSubKey,
DWORD ulOptions,
__in REGSAM samDesired,
__out PHKEY phkResult
);

1.13.2创建新的键

LONG WINAPI RegCreateKeyEx(
__in HKEY hKey,
__in LPCTSTR lpSubKey,
DWORD Reserved,
__in LPTSTR lpClass,
__in DWORD dwOptions,
__in REGSAM samDesired,
__in LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__out PHKEY phkResult,
__out LPDWORD lpdwDisposition
);
LONG WINAPI RegCreateKey(
__in HKEY hKey,
__in LPCTSTR lpSubKey,
__out PHKEY phkResult
);

1.13.3设置和获取键值

LONG WINAPI RegSetValue(
__in HKEY hKey,
__in LPCTSTR lpSubKey,
__in DWORD dwType,
__in LPCTSTR lpData,
__in DWORD cbData
);
LONG WINAPI RegGetValue(
__in HKEY hkey,
__in_opt LPCTSTR lpSubKey,
__in_opt LPCTSTR lpValue,
__in_opt DWORD dwFlags,
__out_opt LPDWORD pdwType,
__out_opt PVOID pvData,
__in_out_opt LPDWORD pcbData
);

1.13.4删除注册表键和键值

LONG WINAPI RegDeleteKey(
__in HKEY hKey,
__in LPCTSTR lpSubKey
);
LONG WINAPI RegDeleteValue(
__in HKEY hKey,
__in LPCTSTR lpValueName
);

1.13.5枚举键

LONG WINAPI RegEnumKeyEx(
__in HKEY hKey,
__in DWORD dwIndex,
__out LPTSTR lpName,
__in_out LPDWORD lpcName,
LPDWORD lpReserved,
__in_out LPTSTR lpClass,
__in_out LPDWORD lpcClass,
__out PFILETIME lpftLastWriteTime
);
LONG WINAPI RegEnumValue(
__in HKEY hKey,
__in DWORD dwIndex,
__out LPTSTR lpValueName,
__in_out LPDWORD lpcchValueName,
LPDWORD lpReserved,
__out LPDWORD lpType,
__out LPBYTE lpData,
__in_out LPDWORD lpcbData
);

系统信息的管理函数API的更多相关文章

  1. μC/OS-Ⅲ系统的时间管理函数和定时器

    一.时间管理函数 μC/OS-Ⅲ系统提供一些列时间管理服务函数: 1.OSTimeDly():任务延时n个时钟节拍. 2.OSTimeDlyHMSM():任务延时指定的时间,采用“时:分:秒:毫秒”方 ...

  2. Python3标准库:functools管理函数的工具

    1. functools管理函数的工具 functools模块提供了一些工具来调整或扩展函数和其他callable对象,从而不必完全重写. 1.1 修饰符 functools模块提供的主要工具就是pa ...

  3. 使用 WSO2 API Manager 管理 Rest API

    WSO2 API Manager 简介 随着软件工程的增多,越来越多的软件提供各种不同格式.不同定义的 Rest API 作为资源共享,而由于这些 API 资源的异构性,很难对其进行复用.WSO2 A ...

  4. 内存管理运算符new delete与内存管理函数malloc free的区别——已经他们对对象创建的过程。

    (1)内存管理函数与内存管理运算符的区别 内存管理函数有内存分配函数,malloc calloc realloc 以及内存释放函数free. 内存管理运算符有new 和delete. 两种内存管理方式 ...

  5. functools:管理函数工具(部分)

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #functools:管理函数工具 #作用:处理其他函数的函数 #版 ...

  6. POSIX多线程——基本线程管理函数介绍

    POSIX基本的几个线程管理函数见下表: ------------------------------------------------------------------------------- ...

  7. [图形学] Chp9 三维几何变换--栈处理函数与矩阵管理函数的区别

    矩阵管理函数:glLoadIdentity()是把当前活动矩阵设置为单位矩阵. 栈处理函数:glPushMatrix()是将当前活动的变换矩阵复制一份,压入栈顶:glPopMatrix()是破坏当前活 ...

  8. 065 updateStateByKey的函数API

    一:使用场景 1.应用场景 数据的累加 一段时间内的数据的累加 2.说明 每个批次都输出自己批次的数据, 这个时候,可以使用这个API,使得他们之间产生联系. 3.说明2 在累加器的时候,起到的效果和 ...

  9. HTML5 Audio标签方法和函数API介绍

    问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函数 ...

随机推荐

  1. 2019牛客多校四 E. triples II (容斥)

    大意: 给定$n,a$, 求$n$个$3$的倍数, $or$和为$a$的方案数. 简单容斥题 可以求出$f_{x,y}$表示所有$3$的倍数中, 奇数位不超过$x$个$1$, 偶数位不超过$y$个$1 ...

  2. Intercity Travelling CodeForces - 1009E (组合计数)

    大意: 有一段$n$千米的路, 每一次走$1$千米, 每走完一次可以休息一次, 每连续走$x$次, 消耗$a[1]+...+a[x]$的能量. 休息随机, 求消耗能量的期望$\times 2^{n-1 ...

  3. 图像识别领域的一些code

    图像识别领域的一些code 转自:http://blog.163.com/pz124578@126/blog/static/23522694201343110495537/ ps:里面的一些方法都是目 ...

  4. ubantu18.04 配置nginx与uwsgi(前后端分离)

    ubantu18.04 配置nginx与uwsgi   一.首先先安装nginx静态服务 先更新 sudo apt-get update 1.安装gcc g++的依赖库 sudo apt-get in ...

  5. WordPress,SAP Kyma和微信三者的集成

    我们来继续学习如何在实战中使用SAP Kyma. Jerry在之前的文章里,分别介绍了如何本地搭建WordPress实例: 什么?在SAP中国研究院里还需要会PHP开发? 以及如何把这个本地搭建的Wo ...

  6. KVM之virsh管理Storage pool

    创建基于文件夹的存储池 基于文件夹的存储池: [root@ubuntu01 ~]# mkdir /data/vm_pool [root@ubuntu01 ~]# virsh pool-create-a ...

  7. 5.Redis的持久化

    Redis中数据的持久化有两种方式:RDB(Redis DataBsse) 和 AOF(Append Only File),默认采取的是RDB方式 RDB 1.是什么:在指定的时间间隔内将内存中的数据 ...

  8. SpringDataJPA第三天讲义

    第1章     Specifications动态查询 有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecif ...

  9. Computer Vision_33_SIFT:Object recognition from local scale-invariant features——1999

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  10. grafana根据不同prometheus server统计数据

    场景:由于采集的数据量巨大,所以部署了多台prometheus server服务器.根据业务领域分片采集,减轻prometheus server单节点的压力. 问题:grafana如何同时显示多数据源 ...