MFC 获取系统类型及版本

CString GetSystemType(void)
{
	OSVERSIONINFO   osvi; 
	osvi.dwOSVersionInfoSize   =   sizeof(OSVERSIONINFO); 
	GetVersionEx(&osvi); 
	CString   csver; 
	switch   (osvi.dwPlatformId) 
	{ 
	case   VER_PLATFORM_WIN32_NT: 
		if   (   osvi.dwMajorVersion   ==   6   &&   osvi.dwMinorVersion   ==   1   ) 
			csver   =   "Windows 7 "; 
		if   (   osvi.dwMajorVersion   ==   5   &&   osvi.dwMinorVersion   ==   2   ) 
			csver   =   "Windows Server 2003 "; 
		if   (   osvi.dwMajorVersion   ==   5   &&   osvi.dwMinorVersion   ==   1   ) 
			csver   =   "Windows XP,"; 
		if   (   osvi.dwMajorVersion   ==   5   &&   osvi.dwMinorVersion   ==   0   ) 
			csver   =   "Windows 2000,"; 
		if   (   osvi.dwMajorVersion   <=   4   ) 
			csver   =   "Windows   NT   "; 
		csver   +=   osvi.szCSDVersion; 
		break; 

	case   VER_PLATFORM_WIN32_WINDOWS: 

		if   (osvi.dwMajorVersion   ==   4   &&   osvi.dwMinorVersion   ==   0) 
		{ 
			csver   =   "Windows   95   "; 
			if   (   osvi.szCSDVersion[1]   ==   'C '   ||   osvi.szCSDVersion[1]   ==   'B '   ) 
				csver   +=   "OSR2   "; 
		}   

		if   (osvi.dwMajorVersion   ==   4   &&   osvi.dwMinorVersion   ==   10) 
		{ 
			csver   =   "Windows   98   "; 
			if   (   osvi.szCSDVersion[1]   ==   'A '   ) 
				csver   +=   "SE   "; 
		}   

		if   (osvi.dwMajorVersion   ==   4   &&   osvi.dwMinorVersion   ==   90) 
		{ 
			csver   =   "Windows   Millennium   Edition "; 
		}   
		break; 

	case   VER_PLATFORM_WIN32s: 
		csver   =   "Win32s "; 
		break; 
	} 
	return csver;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个基于对话框MFC设计的学生信息管理系统的代码示例: 首先,在VS中创建一个MFC应用程序,选择对话框(Dialog)作为应用程序类型。 在资源管理器中,右键单击对话框,选择添加控件,添加一个List Control控件,用于显示学生信息。在List Control控件中添加四列,分别为学号、姓名、性别和年龄。 在对话框类的头文件中,定义一个自定义类Student,用于存储学生信息。该类应该包含学号、姓名、性别和年龄四个成员变量,并提供相应的成员函数用于获取和设置这些成员变量的值。 ```c++ class Student { public: CString id; // 学号 CString name; // 姓名 CString gender; // 性别 int age; // 年龄 }; ``` 在对话框类的头文件中,定义一个成员变量students,用于存储学生信息的数组。 ```c++ vector<Student> students; ``` 在对话框类的OnInitDialog()函数中,初始化List Control控件,并将数组students中的学生信息显示在List Control控件中。 ```c++ BOOL CMyDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 初始化List Control控件 m_listCtrl.InsertColumn(0, _T("学号"), LVCFMT_LEFT, 100); m_listCtrl.InsertColumn(1, _T("姓名"), LVCFMT_LEFT, 100); m_listCtrl.InsertColumn(2, _T("性别"), LVCFMT_LEFT, 100); m_listCtrl.InsertColumn(3, _T("年龄"), LVCFMT_LEFT, 100); // 将学生信息显示在List Control控件中 for (int i = 0; i < students.size(); i++) { m_listCtrl.InsertItem(i, students[i].id); m_listCtrl.SetItemText(i, 1, students[i].name); m_listCtrl.SetItemText(i, 2, students[i].gender); CString age; age.Format(_T("%d"), students[i].age); m_listCtrl.SetItemText(i, 3, age); } return TRUE; } ``` 添加“添加”、“修改”和“删除”按钮,并为这些按钮添加响应函数。在响应函数中,调用对应的对话框,用于输入或修改学生信息,并更新List Control控件中的数据。 ```c++ void CMyDlg::OnBnClickedAddBtn() { // 添加学生信息 CAddDlg dlg; if (dlg.DoModal() == IDOK) { Student student; student.id = dlg.m_id; student.name = dlg.m_name; student.gender = dlg.m_gender; student.age = dlg.m_age; students.push_back(student); // 将新添加的学生信息显示在List Control控件中 int i = students.size() - 1; m_listCtrl.InsertItem(i, student.id); m_listCtrl.SetItemText(i, 1, student.name); m_listCtrl.SetItemText(i, 2, student.gender); CString age; age.Format(_T("%d"), student.age); m_listCtrl.SetItemText(i, 3, age); } } void CMyDlg::OnBnClickedModifyBtn() { // 修改学生信息 int i = m_listCtrl.GetSelectionMark(); if (i == -1) { AfxMessageBox(_T("请先选择要修改的学生信息!")); return; } Student student = students[i]; CModifyDlg dlg; dlg.m_id = student.id; dlg.m_name = student.name; dlg.m_gender = student.gender; dlg.m_age = student.age; if (dlg.DoModal() == IDOK) { student.id = dlg.m_id; student.name = dlg.m_name; student.gender = dlg.m_gender; student.age = dlg.m_age; students[i] = student; // 更新List Control控件中的学生信息 m_listCtrl.SetItemText(i, 0, student.id); m_listCtrl.SetItemText(i, 1, student.name); m_listCtrl.SetItemText(i, 2, student.gender); CString age; age.Format(_T("%d"), student.age); m_listCtrl.SetItemText(i, 3, age); } } void CMyDlg::OnBnClickedDeleteBtn() { // 删除学生信息 int i = m_listCtrl.GetSelectionMark(); if (i == -1) { AfxMessageBox(_T("请先选择要删除的学生信息!")); return; } students.erase(students.begin() + i); m_listCtrl.DeleteItem(i); } ``` 在List Control控件中添加双击响应函数,用于在双击列表项时显示该项对应的学生信息。 ```c++ void CMyDlg::OnLvnItemActivateList(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // 显示学生信息 int i = pNMIA->iItem; Student student = students[i]; CString message; message.Format(_T("学号:%s\n姓名:%s\n性别:%s\n年龄:%d"), student.id, student.name, student.gender, student.age); AfxMessageBox(message); *pResult = 0; } ``` 以上是一个基本的学生信息管理系统的代码示例。具体的实现细节需要根据具体的需求进行调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值