zoukankan      html  css  js  c++  java
  • 串口设备变更检测


    HKEY hKey;
    LONG ret;
    OSVERSIONINFO osvi;
    BOOL bOsVersionInfoEx;
    char keyinfo[100],comm_name[200],ValueName[200], Uart[16];
    int i;
    DWORD sType,Reserved,cbData,cbValueName;

    ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

    memset(keyinfo,0,100);
    strcpy(keyinfo,"HARDWARE\DEVICEMAP\SERIALCOMM");
    i=0; sType=REG_SZ;Reserved=0;
    bOsVersionInfoEx =GetVersionEx(&osvi);
    ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,keyinfo,0,KEY_ALL_ACCESS,&hKey);
    if (ret==ERROR_SUCCESS){
    if (osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
    {
    for(i=1;i<=128;i++)
    {
    sprintf(comm_name,"COM%d",i);
    m_Uart.AddString(comm_name);
    }
    }
    else if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
    {
    do
    {
    cbData=200;cbValueName=200;
    memset(comm_name,0,200);
    memset(ValueName,0,200);
    ret=RegEnumValue(hKey,i,ValueName,&cbValueName,NULL,&sType,(LPBYTE)comm_name,&cbData);
    if (strlen(comm_name) > 0)
    {
    // 检测出来的串口
    }
    i++;
    }while (ret==ERROR_SUCCESS);
    }
    }

    RegCloseKey(hKey);

  • 相关阅读:
    C#中平方与n次方
    哈希算法
    C#QQ邮箱发送消息
    C#Unicode和Utf-8
    timeStamp(时间戳)
    GetHashCode
    获取XML中指定属性的值
    MySQL基础之创建和操纵表
    django基础之Django模型
    django基础之Django简介
  • 原文地址:https://www.cnblogs.com/vic_lu/p/5127707.html
Copyright © 2011-2022 走看看