C/C++Windows黑客编程系列——获取系统信息
获取系统信息#
#include <stdio.h>
#include <windows.h>
#define MAX_LEN 256
void iGetSystemInfo() {
char computerName[256] = {0};
char username[256] = {0};
OSVERSIONINFO osversioninfo;
osversioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osversioninfo);
if (osversioninfo.dwPlatformId == VER_PLATFORM_WIN32_NT) {
if (osversioninfo.dwMajorVersion == 5 && osversioninfo.dwMinorVersion == 1) {
printf("当前操作系统:%s\n", "windows xp");
}
if (osversioninfo.dwMajorVersion == 5 && osversioninfo.dwMinorVersion == 0) {
printf("当前操作系统:%s\n", "windows 2k");
}
if (osversioninfo.dwMajorVersion == 6 && osversioninfo.dwMinorVersion == 2) {
printf("当前操作系统:%s\n", "windows 10");
}
} else {
printf("%s\n", "其他操作系统");
}
// 获取计算机名称
unsigned long nSize = 256;
GetComputerName(computerName, &nSize);
printf("计算机名称:%s\n", computerName);
nSize = 256;
GetUserName(username, &nSize);
printf("用户名:%s\n", username);
}
int main() {
// 自身程序的位置
char selfName[MAX_LEN] = {0};
// 系统目录位置
char windowsName[MAX_LEN] = {0};
// 系统目录位置
char systemName[MAX_LEN] = {0};
// 临时变量
char tempName[MAX_LEN] = {0};
// 获取当前执行文件的路径
GetModuleFileName(NULL, selfName, MAX_LEN);
strcat(strcat(tempName,"当前执行文件路径:"),selfName);
printf("%s\n", tempName);
RtlZeroMemory(tempName,MAX_LEN);
// 获取window目录位置
GetWindowsDirectory(windowsName, MAX_LEN);
strcat(strcat(tempName,"Win目录位置:"),windowsName);
printf("%s\n", tempName);
RtlZeroMemory(tempName,MAX_LEN);
// 获取系统目录位置
GetSystemDirectory(systemName, MAX_LEN);
strcat(strcat(tempName,"系统目录路径:"),systemName);
printf("%s\n", tempName);
RtlZeroMemory(tempName,MAX_LEN);
// 获取系统信息
iGetSystemInfo();
}
输出
当前执行文件路径:D:\c\win32\cmake-build-debug\win32.exe
Win目录位置:C:\WINDOWS
系统目录路径:C:\WINDOWS\system32
当前操作系统:windows 10
计算机名称:MACARINAL
用户名:Macarinal
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: