1.Windows系统信息

1.1获取系统版本:

  1.  
  2.  
  1. BOOL WINAPI GetVersionEx __in_out LPOSVERSIONINFO lpVersionInfo );

lpVersionInfo

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

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

1.2获取系统硬件相关信息

  1. void WINAPI GetSystemInfo(
  2. __out LPSYSTEM_INFO lpSystemInfo
  3. );

lpSystemInfo

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

1.3获取系统目录等信息

1.3.1获取系统目录

  1. UINT WINAPI GetSystemDirectory
  2. __out LPTSTR lpBuffer
  3. __in UINT USIZE
  4. );

lpBuffer

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

USIZE

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

1.3.2获取windows安装目录

  1. UINT WINAPI GetWindowsDirectory
  2. __out LPTSTR lpBuffer
  3. __in UINT USIZE
  4. );

lpBuffer

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

USIZE

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

1.4获取用户名

  1. BOOL WINAPI GetUserName
  2. __out LPTSTR lpBuffer
  3. __in_out LPDWORD lpnSize
  4. );

1.5获取计算机名

  1. BOOL WINAPI GetComputerName
  2. __out LPTSTR lpBuffer
  3. __in_out LPDWORD lpnSize
  4. );

1.6设置计算机名

  1. BOOL WINAPI SetComputerName
  2. __in LPCTSTR lpComputerName
  3. );

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

  1. BOOL WINAPI GetComputerNameEx(
  2. __in COMPUTER_NAME_FORMAT NameType,
  3. __out LPTSTR lpBuffer,
  4. __in_out LPDWORD lpnSize
  5. );

1.8系统颜色

  1. DWORD WINAPI GetSysColor(
  2. __in int nIndex
  3. );
  1. BOOL WINAPI SetSysColors(
  2. __in int cElements,
  3. __in const INT* lpaElements,
  4. __in const COLORREF* lpaRgbValues
  5. );

1.9获取系统各种尺度信息

  1. int WINAPI GetSystemMetrics(
  2. __in int nIndex
  3. );

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

  1. BOOL WINAPI SystemParametersInfo(
  2. __in UINT uiAction,
  3. __in UINT uiParam,
  4. __in_out PVOID pvParam,
  5. __in UINT fWinIni
  6. );

1.11设置和获取系统时间

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

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

  1. BOOL WINAPI SystemTimeToFileTime(
  2. __in const SYSTEMTIME* lpSystemTime,
  3. __out LPFILETIME lpFileTime
  4. );
  1. BOOL WINAPI FileTimeToSystemTime(
  2. __in const FILETIME* lpFileTime,
  3. __out LPSYSTEMTIME lpSystemTime
  4. );

1.12获取系统环境变量

  1. DWORD GetEnvironmentVariable(
  2. LPCTSTR lpName, // address of environment variable name
  3. LPTSTR lpBuffer, // address of buffer for variable value
  4. DWORD nSize // size of buffer, in characters
  5. );

参数:

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

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

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

返回值:

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

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

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


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

1.13注册表

1.13.1打开已存在键的注册表

  1. LONG WINAPI RegOpenKeyEx(
  2. __in HKEY hKey,
  3. __in LPCTSTR lpSubKey,
  4. DWORD ulOptions,
  5. __in REGSAM samDesired,
  6. __out PHKEY phkResult
  7. );

1.13.2创建新的键

  1. LONG WINAPI RegCreateKeyEx(
  2. __in HKEY hKey,
  3. __in LPCTSTR lpSubKey,
  4. DWORD Reserved,
  5. __in LPTSTR lpClass,
  6. __in DWORD dwOptions,
  7. __in REGSAM samDesired,
  8. __in LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  9. __out PHKEY phkResult,
  10. __out LPDWORD lpdwDisposition
  11. );
  1. LONG WINAPI RegCreateKey(
  2. __in HKEY hKey,
  3. __in LPCTSTR lpSubKey,
  4. __out PHKEY phkResult
  5. );

1.13.3设置和获取键值

  1. LONG WINAPI RegSetValue(
  2. __in HKEY hKey,
  3. __in LPCTSTR lpSubKey,
  4. __in DWORD dwType,
  5. __in LPCTSTR lpData,
  6. __in DWORD cbData
  7. );
  1. LONG WINAPI RegGetValue(
  2. __in HKEY hkey,
  3. __in_opt LPCTSTR lpSubKey,
  4. __in_opt LPCTSTR lpValue,
  5. __in_opt DWORD dwFlags,
  6. __out_opt LPDWORD pdwType,
  7. __out_opt PVOID pvData,
  8. __in_out_opt LPDWORD pcbData
  9. );

1.13.4删除注册表键和键值

  1. LONG WINAPI RegDeleteKey(
  2. __in HKEY hKey,
  3. __in LPCTSTR lpSubKey
  4. );
  1. LONG WINAPI RegDeleteValue(
  2. __in HKEY hKey,
  3. __in LPCTSTR lpValueName
  4. );

1.13.5枚举键

  1. LONG WINAPI RegEnumKeyEx(
  2. __in HKEY hKey,
  3. __in DWORD dwIndex,
  4. __out LPTSTR lpName,
  5. __in_out LPDWORD lpcName,
  6. LPDWORD lpReserved,
  7. __in_out LPTSTR lpClass,
  8. __in_out LPDWORD lpcClass,
  9. __out PFILETIME lpftLastWriteTime
  10. );
  1. LONG WINAPI RegEnumValue(
  2. __in HKEY hKey,
  3. __in DWORD dwIndex,
  4. __out LPTSTR lpValueName,
  5. __in_out LPDWORD lpcchValueName,
  6. LPDWORD lpReserved,
  7. __out LPDWORD lpType,
  8. __out LPBYTE lpData,
  9. __in_out LPDWORD lpcbData
  10. );

系统信息的管理函数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. (五)CXF之添加拦截器

    一.需求分析 webService中的拦截器类似于servlet的Filter过滤器.一般用于调用服务前后先调用拦截器的方法. 二.案例 本章案例是基于上一章节的基础上添加拦截器的 2.1 服务端添加 ...

  2. (二十八)jsp之EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  3. (五)lucene之特定项搜索和查询表达式

    需求:模糊搜索. 前提:  本例中使用lucene 5.3.0 package com.shyroke.lucene; import java.io.File; import java.io.File ...

  4. JDBC 复习3 存取Oracle大数据 clob blob

    1 目录结构记得导包咯 mysql oracle 2 代码,DBUtil工具类见前面的随笔博文 package dbex.mysql; import java.io.BufferedReader; i ...

  5. 【原创】大叔经验分享(86)hive和mysql数据互导

    hive和mysql数据互导,首先想到的是sqoop,并且可以和调度框架(比如oozie等)配合配置定时任务,还有一种更简单的方式是通过spark-sql: CREATE OR REPLACE TEM ...

  6. pytorch入门1——简单的网络搭建

    代码如下: %matplotlib inline import torch import torch.nn as nn import torch.nn.functional as F from tor ...

  7. 关于linux中关在共享文件的NFS 提示错误解决办法

    0. 查看挂载情况命令 : findmnt 1. 如果在客户机上遇到如下这样的提示错误,有可能的原因是因为没有安装nfs-utils   只需要yum install nfs-utils   就解决了 ...

  8. RMQ((Range Minimum/Maximum Query))ST算法

    给定一个数组,求出给定区间[l,r]中元素的最大值或最小值或者最值的索引. 一看到这个题目,简单,看我暴力出奇迹.暴力当然是可行的.但是时间复杂度很高(O(n^2)).线段树,树状数组也可以解决这个问 ...

  9. 基于【 centos7】三 || 分布式文件系统FastDFS+Nginx环境搭建

    1. FastDFS介绍 1.1 FastDFS定义 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用 ...

  10. 对SPI进行参数化结构设计

    前言 为了避免每次SPI驱动重写,直接参数化,尽量一劳永逸. SPI master有啥用呢,你发现各种外围芯片的配置一般都是通过SPI配置的,只不过有3线和四线. SPI slave有啥用呢,当外部主 ...