const long MAX_COMMAND_SIZE = 10000; // 命令行输出缓冲大小   WCHAR szFetCmd[]            = _T("wmic BaseBoard get SerialNumber"); // 获取主板序列号命令行   CString strEnSearch;strEnSearch.Format(_T("SerialNumber")); // 主板序列号的前导信息char         szReadResult[MAX_COMMAND_SIZE+1] = {0}; // 放置命令行结果的输出缓冲区CString           strBuffer;unsigned long count = 0;long         ipos  = 0;BOOL   bret        = FALSE;HANDLE hReadPipe  = NULL; //读取管道HANDLE hWritePipe = NULL; //写入管道   PROCESS_INFORMATION pi;   //进程信息    STARTUPINFO         si;   //控制命令行窗口信息SECURITY_ATTRIBUTES sa;   //安全属性memset(&pi, 0, sizeof(pi));memset(&si, 0, sizeof(si));memset(&sa, 0, sizeof(sa));pi.hProcess = NULL;pi.hThread  = NULL;si.cb     = sizeof(STARTUPINFO);sa.nLength   = sizeof(SECURITY_ATTRIBUTES);sa.lpSecurityDescriptor = NULL;sa.bInheritHandle        = TRUE;//1.0 创建管道bret = CreatePipe(&hReadPipe, &hWritePipe, &sa, 0);if(!bret){goto END;}//2.0 设置命令行窗口的信息为指定的读写管道GetStartupInfo(&si);si.hStdError  = hWritePipe;si.hStdOutput = hWritePipe;si.wShowWindow    = SW_HIDE; //隐藏命令行窗口si.dwFlags     = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;//3.0 创建获取命令行的进程bret = CreateProcess(NULL, szFetCmd, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi );if(!bret){goto END;}   //4.0 读取返回的数据WaitForSingleObject (pi.hProcess, 500/*INFINITE*/);bret  =  ReadFile(hReadPipe,  szReadResult,  MAX_COMMAND_SIZE,  &count,  0);if(!bret){goto END;}//5.0 查找主板序列号bret = FALSE;strBuffer = szReadResult;//strBuffer.Format(_T("%s"),szBuffer);ipos = strBuffer.Find(strEnSearch);if (ipos < 0) // 没有找到主板序列号的前导信息,即没有找到主板序列号{     goto END;}else{//读出的结果包含主板序列号前导信息 空格  主板序列号三部分;//首先去除前导信息。strBuffer = strBuffer.Right(strBuffer.GetLength() - strEnSearch.GetLength());//然后去除空格CString result1;result1 = strBuffer.Trim();TRACE(result1);//将结果trace到输出窗口}  bret = TRUE;
END://关闭所有的句柄CloseHandle(hWritePipe);CloseHandle(hReadPipe);CloseHandle(pi.hProcess);CloseHandle(pi.hThread);

基于MFC获得主板序列号相关推荐

  1. 通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号

    开发语言:C/C++ 支持平台:Windows 实现功能: 通过WMI获取网卡MAC地址.硬盘序列号.主板序列号.CPU ID.BIOS序列号 下载地址: WMI_DeviceQuery.zip 版本 ...

  2. 获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)

    1 // 注意:首先要在项目中添加引用 System.Management 2 3 using System; 4 using System.Collections.Generic; 5 using ...

  3. python获取本机 ip地址、mac地址(物理地址)、计算机名、硬盘序列号、CPU序列号、主板序列号、bios序列号、bios uuid号

    文章目录 python获取本机IP地址.mac地址(物理地址).计算机名 物理地址 计算机名.ip地址 硬盘序列号 CPU序列号 主板序列号 bios序列号 bios uuid号 python获取本机 ...

  4. 基于MFC SDI的图像处理程序(带效果图)

    基于MFC SDI的图像处理程序(带效果图) 收藏 本程序主要实现了位图的打开保存,JPG格式作为BMP格式,以及24位BMP转化到8位.4位.1位(黑白图)及灰度图.还有一些简单的算法如反色,采用高 ...

  5. 基于MFC的socket编程(异步非阻塞通信)

    对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手.许多概念,诸如:同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,初学者往往迷惑不清,只知其 ...

  6. Python获取电脑硬件配置的封装类,可以获取CPU序列号、主板序列号、BIOS序列号、硬盘序列号和网卡MAC地址

    Python获取电脑硬件配置的封装类,可以获取CPU序列号.主板序列号.BIOS序列号.硬盘序列号和网卡MAC地址. myPyHardware.py # -*- coding: utf-8 -*- i ...

  7. python wmi读取网卡MAC地址、CPU序列号、硬盘序列号、主板序列号、BIOS序列号

    序列号相当于电脑的身份证号,是硬件出厂时,厂商写在硬件里的唯一识别码,具有唯一性和不可修改性.很多正版软件以此来识别用户电脑,限制安装. import uuid import wmi def get_ ...

  8. C# 获取电脑序列号和主板序列号

    项目中有需求要从软件中获取当前电脑的整机序列号和主板序列号,研究一番,C#的实现如下: using System.Management;//整机序列号 public static string get ...

  9. 计算机自带的科学计算器代码,[置顶] 科学计算器(简化版:基于MFC对话框)

    科学计算器(简化版) 最终界面: 全部源代码下载地址: 链接: http://download.csdn.net/detail/u012339743/8198227 详细编写过程: 1.    打开V ...

最新文章

  1. 图神经网络可以解决现实世界中的问题吗?
  2. SQL SERVER2000教程-第四章 创建和维护表 第二节 数据完整性
  3. android 安装环境及入门
  4. ionic 获取input的值
  5. mysql内存不断被占用,导致每隔一个多月就自动重启,修改数据库配置后,问题解决...
  6. 在ne中分析贱谈.net中简体转繁体
  7. 查询SQLSERVER执行过的SQL记录
  8. 图解TCP 的重传、滑动窗口、流量控制和拥塞控制机制
  9. 博士和博士后的有什么区别?
  10. 华云数据收购国际超融合软件厂商Maxta全部资产
  11. 顺序栈基本操作的C语言实现(含全部代码实现)--- 数据结构之顺序栈
  12. android 百度基站定位服务器,Android基站定位原理及实现代码
  13. PERT图事件、活动、松弛时间与关键路径的相关计算
  14. 天梯赛L2-016 愿天下有情人都是失散多年的兄妹
  15. 综合评价之熵值法+TOPSIS
  16. html怎么将一张图撑大,div 如何防止图片太大被撑开
  17. 传奇手游战神引擎开服教程架设教程工具全套图文教程
  18. 全球域名后缀注册量排行榜!
  19. Vue制作一个日程表
  20. linux napi

热门文章

  1. Android 绘制优化总结1
  2. 人机交互是指用户与计算机,人机交互与人机界面
  3. 微型泵输出流量脉动性研究
  4. 计算机辅助教育的期末考试,计算机辅助教育.pptx
  5. vb外部调用autocad_Java基于VB通过Jacob调用AutoCAD接口
  6. 记一次多线程问题引发的崩溃
  7. 通过一张火车票可以得到什么
  8. windows鼠标,物理位移与屏幕位移的计算方法(鼠标加速度)
  9. 用迪杰斯特拉算法实现地铁的站点搜索
  10. 用matlab计算线是热率,运用MATLAB计算散热器的散热量