调整app关于信息获取版本号
This commit is contained in:
parent
9b601ecfbb
commit
36952c7dc4
|
@ -2919,7 +2919,7 @@ void MainWindow::on_act_about_triggered()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
HGChar version[32] = { 0 };
|
HGChar version[32] = { 0 };
|
||||||
HGVersion_GetCurrVersion(HGVERSION_APPNAME_SCANNER, oem, version, 32);
|
getCurrVersion(HGVERSION_APPNAME_SCANNER, oem, version, 32);
|
||||||
|
|
||||||
QString title = tr("about %1").arg(windowTitle());
|
QString title = tr("about %1").arg(windowTitle());
|
||||||
QString content;
|
QString content;
|
||||||
|
@ -3891,6 +3891,120 @@ void MainWindow::deleteDevUser()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HGResult MainWindow::getCurrVersion(const HGChar* appName, const HGChar* oemName, HGChar* version, HGUInt maxLen)
|
||||||
|
{
|
||||||
|
if (NULL == version || 0 == maxLen)
|
||||||
|
{
|
||||||
|
return HGBASE_ERR_INVALIDARG;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ver = "0.0.0.0";
|
||||||
|
|
||||||
|
if (appName == HGVERSION_APPNAME_SCANNER)
|
||||||
|
{
|
||||||
|
#if defined(HG_CMP_MSC)
|
||||||
|
std::string regName;
|
||||||
|
if (oemName == HGVERSION_OEMNAME_HANVON)
|
||||||
|
regName = "SOFTWARE\\HanvonScan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_LANXUM)
|
||||||
|
regName = "SOFTWARE\\LanxumScan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_CUMTENN)
|
||||||
|
regName = "SOFTWARE\\CumtennScan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_MICROTEK)
|
||||||
|
regName = "SOFTWARE\\MicrotekScan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_UNIS)
|
||||||
|
regName = "SOFTWARE\\UniScan";
|
||||||
|
else
|
||||||
|
regName = "SOFTWARE\\HuaGoScan";
|
||||||
|
|
||||||
|
HKEY hKey = NULL;
|
||||||
|
RegOpenKeyExA(HKEY_LOCAL_MACHINE, regName.c_str(), 0, KEY_QUERY_VALUE, &hKey);
|
||||||
|
if (NULL != hKey)
|
||||||
|
{
|
||||||
|
CHAR szData[MAX_PATH] = { 0 };
|
||||||
|
DWORD cbData = MAX_PATH;
|
||||||
|
if (ERROR_SUCCESS == RegQueryValueExA(hKey, "AppVersion", NULL, NULL, (LPBYTE)szData, &cbData))
|
||||||
|
{
|
||||||
|
ver = szData;
|
||||||
|
}
|
||||||
|
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
std::string appName;
|
||||||
|
std::string osName = GetOSName();
|
||||||
|
if ("UnionTech" == osName)
|
||||||
|
{
|
||||||
|
if (oemName == HGVERSION_OEMNAME_HANVON)
|
||||||
|
appName = "com.hanvonchina.hanvonscan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_LANXUM)
|
||||||
|
appName = "com.lanxumchina.lanxumscan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_CUMTENN)
|
||||||
|
appName = "com.cumtennchina.cumtennscan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_MICROTEK)
|
||||||
|
appName = "com.microtekchina.microtekscan";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_UNIS)
|
||||||
|
appName = "com.unischina.uniscan";
|
||||||
|
else
|
||||||
|
appName = "com.huagaochina.huagoscan";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (oemName == HGVERSION_OEMNAME_HANVON)
|
||||||
|
appName = "scanner-driver-hanvon";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_LANXUM)
|
||||||
|
appName = "scanner-driver-lanxum";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_CUMTENN)
|
||||||
|
appName = "scanner-driver-cumtenn";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_MICROTEK)
|
||||||
|
appName = "scanner-driver-microtek";
|
||||||
|
else if (oemName == HGVERSION_OEMNAME_UNIS)
|
||||||
|
appName = "scanner-driver-unis";
|
||||||
|
else
|
||||||
|
appName = "scanner-driver-huagao";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string cmd = "dpkg -l " + appName;
|
||||||
|
FILE* fp = popen(cmd.c_str(), "r");
|
||||||
|
if (NULL != fp)
|
||||||
|
{
|
||||||
|
char buff[2048] = { 0 };
|
||||||
|
fread(buff, 2048, 1, fp);
|
||||||
|
|
||||||
|
char* p = strstr(buff, appName.c_str());
|
||||||
|
if (NULL != p)
|
||||||
|
{
|
||||||
|
char* p2 = p + appName.size();
|
||||||
|
while (!isdigit(*p2) && '.' != *p2)
|
||||||
|
++p2;
|
||||||
|
|
||||||
|
int len = (int)strlen(p2);
|
||||||
|
for (int i = 0; i < len; ++i)
|
||||||
|
{
|
||||||
|
if (!isdigit(p2[i]) && '.' != p2[i])
|
||||||
|
{
|
||||||
|
p2[i] = '\0';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ver = p2;
|
||||||
|
}
|
||||||
|
|
||||||
|
pclose(fp);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (maxLen < ver.size() + 1)
|
||||||
|
{
|
||||||
|
return HGBASE_ERR_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
strcpy(version, ver.c_str());
|
||||||
|
return HGBASE_ERR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
#if !defined(HG_CMP_MSC)
|
#if !defined(HG_CMP_MSC)
|
||||||
void MainWindow::checkRollerLife()
|
void MainWindow::checkRollerLife()
|
||||||
{
|
{
|
||||||
|
|
|
@ -245,6 +245,7 @@ private:
|
||||||
void initAcquireIntoComboBox();
|
void initAcquireIntoComboBox();
|
||||||
void updateSideBar();
|
void updateSideBar();
|
||||||
void deleteDevUser();
|
void deleteDevUser();
|
||||||
|
HGResult getCurrVersion(const HGChar* appName, const HGChar* oemName, HGChar* version, HGUInt maxLen);
|
||||||
|
|
||||||
#if !defined(HG_CMP_MSC)
|
#if !defined(HG_CMP_MSC)
|
||||||
void checkRollerLife();
|
void checkRollerLife();
|
||||||
|
|
|
@ -85,7 +85,7 @@ win32 {
|
||||||
|
|
||||||
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 -ladvapi32
|
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 -ladvapi32
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc\
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc\
|
||||||
-l$${OEM_PREFIX}TwainUser -l$${OEM_PREFIX}Version
|
-l$${OEM_PREFIX}TwainUser
|
||||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -llang
|
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -llang
|
||||||
|
|
||||||
# sane.dll
|
# sane.dll
|
||||||
|
@ -130,7 +130,7 @@ unix {
|
||||||
|
|
||||||
LIBS += -lpthread -ldl
|
LIBS += -lpthread -ldl
|
||||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt -l$${OEM_PREFIX2}ImgProc\
|
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX2}Base -l$${OEM_PREFIX2}ImgFmt -l$${OEM_PREFIX2}ImgProc\
|
||||||
-l$${OEM_PREFIX2}SaneUI -l$${OEM_PREFIX2}SaneUser -l$${OEM_PREFIX2}Version
|
-l$${OEM_PREFIX2}SaneUI -l$${OEM_PREFIX2}SaneUser
|
||||||
|
|
||||||
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -llang
|
LIBS += -L$$PWD/../../../../release/$${MY_OS}/$${MY_ARCH2} -llang
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue