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. Manacher算法+注释

    Manacher算法是用来求一个字符串中最长回文串的算法. 考虑暴力求最长回文串的做法: 暴力枚举字符串中的所有字串判断是否回文,然后求最大值. 时间复杂度O(n^3),考虑优化. 我们从枚举所有字串 ...

  2. MQTTnet 3.0.5学习笔记

    段时间在使用MQTTnet,都说这个东西比较好,可是翻了翻网上没有例子给参考一下. 今天算是找到了,给高手的帖子做个宣传吧. 原网址如下:https://blog.csdn.net/chenlu520 ...

  3. 前端知识总结--js异步事件顺序

    js中异步事件中容易混淆的 Promise 和 setTimeout 的执行顺序是怎样的? setTimeout(() => console.log(1), 0); new Promise(fu ...

  4. leetcode-102.层序遍历二叉树(正序)· BTree

    题面 Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to rig ...

  5. sqlAlchemy搭建sqliteOrm

    一:引入文件 from sqlalchemy import Column, Integer, VARCHAR, Text from sqlalchemy import create_engine fr ...

  6. logstash+elasticsearch+kibana搭建日志收集分析系统

    来源: http://blog.csdn.net/xifeijian/article/details/50829617 日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散 ...

  7. Computer Vision_33_SIFT:PCA-SIFT A More Distinctive Representation for Local Image Descriptors——2004

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

  8. eclipse开发scrapy爬虫工程,附爬虫临门级教程

    写在前面 自学爬虫入门之后感觉应该将自己的学习过程整理一下,也为了留个纪念吧. scrapy环境的配置还请自行百度,其实也不难(仅针对windows系统,centos配置了两天,直到现在都没整明白) ...

  9. java - day008 - 接口,内部类

    接口 作用: 结构设计工具,用来解耦合,需要有子类,隔离具体实现 接口是一个极端的抽象类 用 interface 代替 class 用 implements 代替 extends // 接口中所有东西 ...

  10. golang的序列化与反序列化的几种方式

    golang用来序列化的模块有很多,我们来介绍3个. json 首先登场的是json,这个几乎毋庸置疑. 序列化 package main import ( "encoding/json&q ...