系统信息的管理函数API
1.Windows系统信息
1.1获取系统版本:
BOOL WINAPI GetVersionEx( __in_out LPOSVERSIONINFO lpVersionInfo );
lpVersionInfo
一个OSVERSIONINFO或OSVERSIONINFOEX结构接收操作系统的信息。
在调用之前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的更多相关文章
- μC/OS-Ⅲ系统的时间管理函数和定时器
一.时间管理函数 μC/OS-Ⅲ系统提供一些列时间管理服务函数: 1.OSTimeDly():任务延时n个时钟节拍. 2.OSTimeDlyHMSM():任务延时指定的时间,采用“时:分:秒:毫秒”方 ...
- Python3标准库:functools管理函数的工具
1. functools管理函数的工具 functools模块提供了一些工具来调整或扩展函数和其他callable对象,从而不必完全重写. 1.1 修饰符 functools模块提供的主要工具就是pa ...
- 使用 WSO2 API Manager 管理 Rest API
WSO2 API Manager 简介 随着软件工程的增多,越来越多的软件提供各种不同格式.不同定义的 Rest API 作为资源共享,而由于这些 API 资源的异构性,很难对其进行复用.WSO2 A ...
- 内存管理运算符new delete与内存管理函数malloc free的区别——已经他们对对象创建的过程。
(1)内存管理函数与内存管理运算符的区别 内存管理函数有内存分配函数,malloc calloc realloc 以及内存释放函数free. 内存管理运算符有new 和delete. 两种内存管理方式 ...
- functools:管理函数工具(部分)
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #functools:管理函数工具 #作用:处理其他函数的函数 #版 ...
- POSIX多线程——基本线程管理函数介绍
POSIX基本的几个线程管理函数见下表: ------------------------------------------------------------------------------- ...
- [图形学] Chp9 三维几何变换--栈处理函数与矩阵管理函数的区别
矩阵管理函数:glLoadIdentity()是把当前活动矩阵设置为单位矩阵. 栈处理函数:glPushMatrix()是将当前活动的变换矩阵复制一份,压入栈顶:glPopMatrix()是破坏当前活 ...
- 065 updateStateByKey的函数API
一:使用场景 1.应用场景 数据的累加 一段时间内的数据的累加 2.说明 每个批次都输出自己批次的数据, 这个时候,可以使用这个API,使得他们之间产生联系. 3.说明2 在累加器的时候,起到的效果和 ...
- HTML5 Audio标签方法和函数API介绍
问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函数 ...
随机推荐
- IDEA忽略不必要提交的文件
1.在idea中安装插件用来生成和管理 .gitignore 文件,安装成功后重启idea 2.新建.gitignore 文件 3.将不需要提交的文件添加到.gitignore 4.删除缓冲文件 . ...
- C# xml序列化 datatime字段
[XmlIgnore] public DateTime ApplicationDatetime { get; set; } [XmlElement("ApplicationDatetime& ...
- Python练习_函数进阶_day10
1. 1.作业 1,写函数,接收n个数字,求这些参数数字的和.(动态传参) 2,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): p ...
- sqlyog 如何导出建表语句
真傻了,这个问题弄了半天. 解决 点击表名后,在右侧的信息栏里面有啊: PS - 个人博客链接:sqlyog 如何导出建表语句
- Python UDP 通信
UDP_Client.py import socket # 创建一个 UDP 套接字 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DG ...
- Java基础加强-读取配置文件和内省
Java读取配置文件 1.采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. String path = "/WEB-INF/jdbc_conne ...
- 【Zookerper】 安装开启
一.Windows环境 1.1 下载和安装: 1.2 开启 1.3 关闭 1.4 用客户端连接 二.Linux 环境 一.Windows环境 1.1 下载和安装: 环境要求:必须要有jdk环境 1.安 ...
- Ubuntu 系统信息相关命令
系统信息相关命令 本节内容主要是为了方便通过远程终端维护服务器时,查看服务器上当前 系统日期和时间 / 磁盘空间占用情况 / 程序执行情况 本小结学习的终端命令基本都是查询命令,通过这些命令对系统资源 ...
- PAT乙级1044
题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805279328157696 题解 需要注意的几个点: 题目有指 ...
- JS遍历表格获取每行数据及每个单元格数据
/** * 遍历表格获取每行数据及每个单元格数据 * @param tableID 表格ID */ function GetTable(tableID) { var milasUrl = {};//新 ...