烟台广告公司南网站建设评价,网站资源整合与建设,无锡营销型网站建设,视频软件下载app在驱动安装时#xff0c;通过inf文件安装#xff0c;碰到有些驱动包中可能有多个inf文件#xff0c;不知道选择哪一个来安装。但一个个打开#xff0c;会发现它们的版本其实好像不一样。因此想到读取每一个inf文件中的版本信息#xff0c;与自己提前决定好的版本号相比较通过inf文件安装碰到有些驱动包中可能有多个inf文件不知道选择哪一个来安装。但一个个打开会发现它们的版本其实好像不一样。因此想到读取每一个inf文件中的版本信息与自己提前决定好的版本号相比较匹配就选择那一个inf文件。
以下是匹配版本号的代码用到了Qt的代码
bool isSameVersion(const QString strSrcPath, const QString version)
{bool isSame false;string strSrcPath2 strSrcPath.toStdString();size_t len strSrcPath2.length();wchar_t* bufSrcPath new wchar_t[len 1];MultiByteToWideChar(CP_ACP, 0, strSrcPath2.c_str(), len, bufSrcPath, len * sizeof(wchar_t));bufSrcPath[len] 0;//获取inf文件中Version模块中的DriverVer字段值TCHAR srcVersion[100] { 0 };GetPrivateProfileString(Lversion, LDriverVer, L, srcVersion, sizeof(srcVersion), bufSrcPath);//01/20/2021,22.30.0.11 ;DATE HAS TO BE IN FOLLOWING FORMAT MM/DD/YYYYQString infVersion QString::fromWCharArray(srcVersion);infVersion infVersion.mid(0, infVersion.indexOf(;));infVersion infVersion.mid(infVersion.indexOf(,)1);infVersion infVersion.replace( , );if (infVersion version)isSame true;delete[] bufSrcPath;bufSrcPath nullptr;return isSame;
}