社区
C++ Builder
帖子详情
获取主机安装的操作系统
yykitty
2004-08-02 05:13:19
用API函数GetVersionEx可以获取主机安装的windows系列的操作系统,如果本机安装了Linux或Unix系统,怎么做?而且GetVersionEx是取得当前正在运行的操作系统,如果本机安装了多个操作系统,怎样都检测出来.能不能提供源代码?
...全文
167
9
打赏
收藏
获取主机安装的操作系统
用API函数GetVersionEx可以获取主机安装的windows系列的操作系统,如果本机安装了Linux或Unix系统,怎么做?而且GetVersionEx是取得当前正在运行的操作系统,如果本机安装了多个操作系统,怎样都检测出来.能不能提供源代码?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
COpyFRee
2004-08-04
打赏
举报
回复
如果单纯检测 Microsoft 的 OS ,从 Boot.ini & MSDOS.SYS 入手应该可以,但对于其它系统则不容易。
jeep008
2004-08-03
打赏
举报
回复
[C++ Error] Uwin.cpp(20): E2108 Improper use of typedef 'TForm1::CWin32Type'
请问这是什么意思
yykitty
2004-08-03
打赏
举报
回复
windows系列的我已经检测出来了,但是Linux或Unix的系统如何检测?
yjy1001
2004-08-03
打赏
举报
回复
不用enum就是了
String getWindowsVersion()
{
String Result;
OSVERSIONINFO info;
info.dwOSVersionInfoSize = sizeof(info);
GetVersionEx(&info);
switch(info.dwPlatformId)
{
case VER_PLATFORM_WIN32s: Result = "wt3X"; break;
case VER_PLATFORM_WIN32_WINDOWS:
{
if(info.dwMajorVersion == 4)
{
if(info.dwMinorVersion == 0)
Result = "wt95";
else if(info.dwMinorVersion == 10)
Result = "wt98";
else if(info.dwMinorVersion == 90)
Result = "wtME";
}
break;
}
case VER_PLATFORM_WIN32_NT:
{
if(info.dwMajorVersion == 3) // && info.dwMinorVersion == 51)
Result = "wtNT3";
else if(info.dwMajorVersion == 4) // && info.dwMinorVersion == 0)
Result = "wtNT4";
else if(info.dwMajorVersion == 5)
{
if(info.dwMinorVersion == 0)
Result = "wt2000";
else if(info.dwMinorVersion == 1)
Result = "wtXP";
}
break;
}
}
return Result;
}
没问题了吧
错误是你没声明enum
COKING
2004-08-02
打赏
举报
回复
无意义。。。
constantine
2004-08-02
打赏
举报
回复
难,up
h98458
2004-08-02
打赏
举报
回复
这个嘛,好像有点难~~~~~~~~~~~
不过是Windows那可以这样:
// 判断操作系统
enum CWin32Type{wt3X, wtNT3, wt95, wt98, wtME, wtNT4, wt2000, wtXP, /*wtNS,*/ wtUnknown};
CWin32Type getWindowsVersion()
{
CWin32Type Result;
OSVERSIONINFO info;
info.dwOSVersionInfoSize = sizeof(info);
GetVersionEx(&info);
switch(info.dwPlatformId)
{
case VER_PLATFORM_WIN32s: Result = wt3X; break;
case VER_PLATFORM_WIN32_WINDOWS:
{
if(info.dwMajorVersion == 4)
{
if(info.dwMinorVersion == 0)
Result = wt95;
else if(info.dwMinorVersion == 10)
Result = wt98;
else if(info.dwMinorVersion == 90)
Result = wtME;
}
break;
}
case VER_PLATFORM_WIN32_NT:
{
if(info.dwMajorVersion == 3) // && info.dwMinorVersion == 51)
Result = wtNT3;
else if(info.dwMajorVersion == 4) // && info.dwMinorVersion == 0)
Result = wtNT4;
else if(info.dwMajorVersion == 5)
{
if(info.dwMinorVersion == 0)
Result = wt2000;
else if(info.dwMinorVersion == 1)
Result = wtXP;
/*else if(info.dwMinorVersion ==)
Result = wtNS;*/
}
break;
}
}
return Result;
}
COpyFRee
2004-08-02
打赏
举报
回复
安装了多个操作系统的检测??? 这个好象有难度,从 MBR 也不能得到多少信息啊,总不会去遍历人家硬盘吧? 万一是 > 120G ,那……
COpyFRee
2004-08-02
打赏
举报
回复
安装了多个操作系统的检测??? 这个好象有难度
Java编程技巧:
获取
ip地址、通过ip
获取
地理位置、
获取
客户端
操作系统
、
获取
客户端浏览器、
获取
主机
名、
获取
操作系统
、
获取
系统架构
大家直接去对应项目位置找到代码,然后看着复制就行了。
WindowsAPI
获取
主机
操作系统
信息
VOID SafeGetNativeSystemInfo(__out LPSYSTEM_INFO lpSystemInfo) { if (NULL==lpSystemInfo) return; typedef VOID (WINAPI *LPFN_GetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo); LPFN_Ge
如何查找
主机
的型号、
操作系统
安装
时间、硬盘序列号和设备序列号
主机
的型号、
操作系统
安装
时间
主机
型号 方法1 右键我的电脑,左键属性: 注意和设备名称的区别。 方法2 win+r 在打开运行界面中输入:msinfo32 ,回车 因此型号是LENOVO 20VD,这个好像和前面的不一样?其实据我观察,这两个其实是一样的,好像是一一对应的。 方法3 wmic csproduct get name 上面这种代码表示在命令行中运行。
操作系统
安装
时间 同样是这个界面,下滑就可以看到: systeminfo 设备序列号 方法1 wmic bios get se
Python自动化运维之
获取
远程
主机
系统信息——Facts组件简介
一点睛 Facts是一个非常有用的组件,实现
获取
远程
主机
的系统信息,包括
主机
名、IP地址、
操作系统
、分区信 息、硬件信息等,可以配合playbook实现更加个性化、灵活的功能需求,比如在httpd.conf模板中引用Facts的
主机
名信息作为ServerName参数的值。 通过运行 ansible hostname -m setup 可
获取
Facts信息。 二实战
获取
192.168....
Docker容器内部
获取
宿
主机
CPU、磁盘、网卡等信息
Docker下
获取
宿
主机
CPU、磁盘、网卡等信息一、使用挂在目录方式
获取
宿
主机
信息二、在容器中使用ssh连接到
主机
获取
主机
信息 这里提供一个
获取
宿
主机
的思路,具体的代码根据需求自己实现 一、使用挂在目录方式
获取
宿
主机
信息 在启动容器的时候,挂载/proc/目录到指定目录,注意容器容也有proc目录,容器中不可再用/proc目录,然后根据cpuinfo或者其他文件自己提取数据再算出来,个人感觉比较麻...
C++ Builder
13,825
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章