|
|
@@ -117,7 +117,7 @@ std::pair<bool, std::string> CModTools::getErrUrl()
|
|
|
return std::make_pair(true, errPagePath.GetData());
|
|
|
}
|
|
|
|
|
|
-std::pair<bool, std::string> CModTools::GenerateErrPage(ERR_PAGE_REASON errType, std::string exReason, std::string exMsg, std::string exRebootTime)
|
|
|
+std::pair<bool, std::string> CModTools::GenerateErrPage(ERR_PAGE_REASON errType, std::tuple<std::string, std::string, std::string, DWORD, DWORD> exParam)
|
|
|
{
|
|
|
auto errUrlRet = getErrUrl();
|
|
|
CSimpleStringA errPagePath = errUrlRet.second.c_str(), strChromiumPath = GetCefHead(this->m_pEntity).Append(CEFCLIENT_NAME);
|
|
|
@@ -152,9 +152,10 @@ std::pair<bool, std::string> CModTools::GenerateErrPage(ERR_PAGE_REASON errType,
|
|
|
errPagePath = CSimpleStringA("\'file:///") + errPagePath + CSimpleStringA("\'");
|
|
|
break;
|
|
|
case ERR_PAGE_REASON::ErrNotify:
|
|
|
- errPagePath.Append(CSimpleStringA("?reason=")).Append(exReason.c_str()).Append("&errmsg=").Append(exMsg.c_str());
|
|
|
- if (exRebootTime.length() > 5)
|
|
|
- errPagePath.Append("&reboottime=").Append(exRebootTime.c_str());
|
|
|
+ errPagePath.Append(CSimpleStringA("?reason=")).Append(std::get<0>(exParam).c_str()).Append("&errmsg=").Append(std::get<1>(exParam).c_str());
|
|
|
+ errPagePath.Append(CSimpleStringA("?usercode=")).Append(std::to_string(std::get<4>(exParam)).c_str());
|
|
|
+ if (std::get<2>(exParam).length() > 5)
|
|
|
+ errPagePath.Append("&reboottime=").Append(std::get<2>(exParam).c_str());
|
|
|
errPagePath = CSimpleStringA("\'file:///") + errPagePath + CSimpleStringA("\'");
|
|
|
break;
|
|
|
default:
|
|
|
@@ -167,9 +168,7 @@ std::pair<bool, std::string> CModTools::GenerateErrPage(ERR_PAGE_REASON errType,
|
|
|
cachePath.Append(CSimpleStringA(SPLIT_SLASH_STR) + "cefCache");
|
|
|
errPagePath.Append(" --cache-path=").Append(cachePath);
|
|
|
|
|
|
- errPagePath.Append(" --no-sandbox");
|
|
|
- errPagePath.Append(" --hide-controls");
|
|
|
- errPagePath.Append(" --always-on-top");
|
|
|
+ errPagePath.Append(" --no-sandbox").Append(" --hide-controls").Append(" --top=1");
|
|
|
switch (errType)
|
|
|
{
|
|
|
case ERR_PAGE_REASON::TerminalManagerKickOut:
|
|
|
@@ -330,7 +329,6 @@ std::string CModTools::generateCefclientCmd(bool isExtend, std::string mainUrl)
|
|
|
strCmdLine.Append(" --cache-path=").Append(cachePath);
|
|
|
strCmdLine.Append(" --no-sandbox");
|
|
|
strCmdLine.Append(" --hide-controls");
|
|
|
- strCmdLine.Append(" --always-on-top");
|
|
|
strCmdLine.Append(" --logextend=").Append((+PAGE_TYPE::slv)._to_string());
|
|
|
strCmdLine.Append(R"( --errurl=file:///)").Append(getErrUrl().second.c_str());
|
|
|
DbgEx("cmdline : %s", strCmdLine.GetData());
|
|
|
@@ -360,7 +358,7 @@ void CModTools::openAdPage() {
|
|
|
}
|
|
|
|
|
|
|
|
|
-std::pair<ErrorCodeEnum, int> CModTools::StartChromiumBrowser(ERR_PAGE_REASON reason, std::string exReason, std::string exMsg, std::string exRebootTime){
|
|
|
+std::pair<ErrorCodeEnum, int> CModTools::StartChromiumBrowser(ERR_PAGE_REASON reason, std::tuple<std::string, std::string, std::string, DWORD, DWORD> exParam){
|
|
|
|
|
|
g_mutexFreerdp.lock();
|
|
|
std::shared_ptr<void> delHandleFun((void*)0, [&](void*) {
|
|
|
@@ -396,7 +394,7 @@ std::pair<ErrorCodeEnum, int> CModTools::StartChromiumBrowser(ERR_PAGE_REASON re
|
|
|
return std::make_pair(Error_Unexpect, 0);
|
|
|
|
|
|
|
|
|
- auto errPageUrl = GenerateErrPage(reason, exReason, exMsg, exRebootTime);
|
|
|
+ auto errPageUrl = GenerateErrPage(reason, exParam);
|
|
|
|
|
|
if (!errPageUrl.first)
|
|
|
{
|