【转载加修改】VC6 MFC怎么检测当前操作系统?
2017-07-07 19:58
169 查看
原文地址:http://blog.csdn.net/lovton/article/details/6528246
1、首先,新建MFC对话框,命名为GetSys。向对话框拖入一个按钮,两个静态文本并设置标题。
2、修改ID:按钮:IDC_GET_SYSTEM;标题为“尚未检测”的静态文本:IDC_SYSTEM。
3、右键点击按钮,选择【建立类向导】(我没法给右键菜单截图,自己选择就好了)。
4、选择【Member Variables】,选择【IDC_GET_SYSTEM】,点击【Add Variable】。
5、Category选择【Control】,Variable type选择【CButton】,Variable name输入m_getsys,点【OK】。
6、选择【IDC_SYSTEM】,点【Add Variable】。
7、Category选择【Control】,Variable type选择【CStatic】,Variable name输入m_system,点【OK】。
8、点击【确定】。
9、双击窗体中的按钮,点【OK】。
10、在处理程序中添加代码:
11、编译并运行程序,点击检测系统按钮即可看到当前系统。
再次声明:本文章部分核心源代码为转载,请尊重原创,点此查看原文。
1、首先,新建MFC对话框,命名为GetSys。向对话框拖入一个按钮,两个静态文本并设置标题。
2、修改ID:按钮:IDC_GET_SYSTEM;标题为“尚未检测”的静态文本:IDC_SYSTEM。
3、右键点击按钮,选择【建立类向导】(我没法给右键菜单截图,自己选择就好了)。
4、选择【Member Variables】,选择【IDC_GET_SYSTEM】,点击【Add Variable】。
5、Category选择【Control】,Variable type选择【CButton】,Variable name输入m_getsys,点【OK】。
6、选择【IDC_SYSTEM】,点【Add Variable】。
7、Category选择【Control】,Variable type选择【CStatic】,Variable name输入m_system,点【OK】。
8、点击【确定】。
9、双击窗体中的按钮,点【OK】。
10、在处理程序中添加代码:
int a = 0, b = 0, i = 0, j = 0; _asm { pushad mov ebx, fs:[0x18]; get self pointer from TEB mov eax, fs:[0x30]; get pointer to PEB / database mov ebx, [eax + 0A8h]; get OSMinorVersion mov eax, [eax + 0A4h]; get OSMajorVersion mov j, ebx mov i, eax popad } if ((i == 5) && (j == 0)) { m_getsys.SetWindowText(_T("重新检测系统")); m_system.SetWindowText(_T("Windows 2000")); } else if ((i == 5) && (j == 1)) { m_getsys.SetWindowText(_T("重新检测系统")); m_system.SetWindowText(_T("Windows XP")); } else if ((i == 5) && (j == 2)) { m_getsys.SetWindowText(_T("重新检测系统")); m_system.SetWindowText(_T("Windows Server 2003")); } else if ((i == 6) && (j == 0)) { m_getsys.SetWindowText(_T("重新检测系统")); m_system.SetWindowText(_T("Windows Vista")); } else if ((i == 6) && (j == 1)) { m_getsys.SetWindowText(_T("重新检测系统")); m_system.SetWindowText(_T("Windows 7")); } else { MessageBox(_T("抱歉,本工具目前只支持Win2000/XP/2003/Vista/7系统,无法识别您的系统!"), _T("错误"), MB_ICONERROR); m_system.SetWindowText(_T("无法识别您的系统")); m_getsys.SetWindowText(_T("重新检测系统")); }
11、编译并运行程序,点击检测系统按钮即可看到当前系统。
再次声明:本文章部分核心源代码为转载,请尊重原创,点此查看原文。
相关文章推荐
- (VC,MFC) 检测操作系统版本
- VC/MFC程序中获取当前Windows操作系统版本名称(2016-04-25修改)
- VC++, MFC中实现选择文件夹,选择文件对话框,确定当前工作目录(转载)
- 修改MFC窗口标题 & 图标(转载)
- 怎样在VC++中访问和修改注册表(转载http://blog.csdn.net/amh/)
- VC修改应用程序图标(MFC好使)
- VC++ 6.0 中如何使用 CRT 调试功能来检测内存泄漏(转载)
- VC++MFC 枚举当前打开的所有窗口
- 转载:VC的MFC中重绘函数的使用总结
- vc 获取程序版本号,当前程序路径,文件修改时间 等
- 将屏幕保存为图片 将当前MFC程序保存为图片 c++ vc
- [转载]VC 和 MFC 的一些常见问题
- VC中对按钮控件的修改[转载]
- 将屏幕保存为图片 将当前MFC程序保存为图片 c++ vc
- 如何检测当前操作系统是64位还是32位
- 修改MFC窗口标题 & 图标(转载)
- 用VC取得当前操作系统的版本
- (转载)非API函数检测操作系统类型
- VC中自定义消息实现(转载于并加以修改)
- VS2008中关于将旧VC方案修改为最新的MFC Feature Pack最需要注意的问题