(Qt)システム詳細バージョン番号OS Buildの取得
パイプコマンドラインを直接呼び出しますが、黒いボックス(コンソール)が点滅します.
Qprocess呼び出し
この方法は自分で先にシステムをwin 10と判断する必要があり、判断方法は前文を見る.
#include
#include
#include
using namespace std ;
// :execmd , result
// :cmd
// result
// 1, 0
int execmd(char* cmd,char* result) {
char buffer[128]; //
FILE* pipe = _popen(cmd, "rt"); // ,
if (!pipe)
return 0; // 0
while(!feof(pipe)) {
if(fgets(buffer, 128, pipe)){ // result
strcat(result,buffer);
}
}
_pclose(pipe); //
return 1; // 1
}
void getVer(){
char result[1024*4]=""; //
char cmdline[100] = "ver";
if(1==execmd(cmdline,result)){
//printf(result);
qDebug() << QString(result);
}
//system("pause"); //
}
Qprocess呼び出し
#include
#include
#include
QString getWindowsBuildVersion()
{
QProcess p(0);
p.start("systeminfo");
p.waitForStarted();
p.waitForFinished();
QString sysinfo = QString::fromLocal8Bit(p.readAllStandardOutput());
std::string temp = sysinfo.toStdString();
temp = temp.substr(temp.find("OS Version:"),temp.find("OS Manufacturer:")-temp.find("OS Version:"));
temp = temp.substr(temp.find("10.0."),10);
return QString::fromStdString(temp);
}
この方法は自分で先にシステムをwin 10と判断する必要があり、判断方法は前文を見る.