123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- #include "stdafx.h"
- #include "RvcWindowsInitial.h"
- #include "AccoutManage.h"
- #include "EnvironmentConfig.h"
- #include "RvcInitalBase.h"
- #include "logfile.h"
- #include "MixerWrap.h"
- RvcInitBase sysInit;
- extern CLogFile* m_log;
- RvcWindowsInitial* RvcWindowsInitial::getInstance()
- {
- static RvcWindowsInitial* Instance = NULL;
- if (NULL == Instance)
- {
- Instance = new RvcWindowsInitial();
- }
- return Instance;
- }
- RvcWindowsInitial::RvcWindowsInitial()
- {}
- RvcWindowsInitial::~RvcWindowsInitial()
- {}
- void RvcWindowsInitial::setLogPath(const char *logPath)
- {
- checkDirExist(logPath);
- sysInit.setLogPath(logPath);
- }
- BOOL RvcWindowsInitial::sysInitBegin(char *dirPath, LPTSTR lastErr)
- {
- BOOL result = sysInit.softwareInit(dirPath);
- if (!result)
- lastErr = sysInit.getInitError().GetBuffer();
- return result;
- }
- SYSTEM_TYPE RvcWindowsInitial::sysTypeCheck()
- {
- return sysInit.getSysType();
- }
- BOOL RvcWindowsInitial::readRootIni()
- {
- return sysInit.readSysType();
- }
- BOOL RvcWindowsInitial::isSystemx64()
- {
- return sysInit.isSystem_x64();
- }
- BOOL RvcWindowsInitial::EnableAdmin()
- {
- return EnableAdministrator();
- }
- BOOL RvcWindowsInitial::RemoveOtherAccouts()
- {
- m_log->LOGERROR("Begin Remove Accounts");
- vector<CString> sysAccouts;
- int errCode;
- CString errStr;
- if (!GetAllAccout(sysAccouts, errCode))
- return FALSE;
- for (int i = 0; i < sysAccouts.size(); i++)
- {
- if (CString(ACCOUT_ADMIN) != sysAccouts[i] && CString(ACCOUT_GUEST) != sysAccouts[i])
- {
- if (!RmAccout(sysAccouts[i], errCode))
- return FALSE;
- }
- }
- return TRUE;
- }
- BOOL RvcWindowsInitial::checkAccounts()
- {
- m_log->LOGERROR("Begin Check Accounts");
- vector<CString> sysAccouts;
- int errCode;
- CString errStr;
- if (!GetAllAccout(sysAccouts, errCode))
- return FALSE;
- BOOL isAdmin = FALSE, isCmbUser = FALSE;
- for (int i = 0; i < sysAccouts.size(); i++)
- {
- if (!isAdmin && CString(ACCOUT_ADMIN) == sysAccouts[i])
- isAdmin = TRUE;
- if (!isCmbUser && CString(CMBUSER_NAME) == sysAccouts[i])
- isCmbUser = TRUE;
- if (CString(ACCOUT_ADMIN) != sysAccouts[i] &&
- CString(ACCOUT_GUEST) != sysAccouts[i] &&
- CString(CMBUSER_NAME) != sysAccouts[i])
- {
- return FALSE;
- }
- }
- return (isAdmin && isCmbUser);
- }
- BOOL RvcWindowsInitial::QueryAccountSID(const CString accountName, CString &accountSID)
- {
- return GetAccountSid(accountName, accountSID);
- }
- BOOL RvcWindowsInitial::AddCmbUser()
- {
- m_log->LOGERROR("Begin Add CmbUser");
- return ::AddCmbUser();
- }
- BOOL RvcWindowsInitial::VoiceConfigDefault()
- {
- m_log->LOGERROR("Begin Voice Config");
- MixerWrap::MicphoneBoost_W7(DEFAULT_MICPHONE_STRENGTH);
- // for (int i = 0; i < 3; i++)
- // {
- // if (voiceConfig(CString(_T(""))))
- // return TRUE;
- // }
- return TRUE;
- }
- BOOL RvcWindowsInitial::CheckVoiceDefault()
- {
- m_log->LOGERROR("Begin Check Voice");
- return MixerWrap::checkMicphoneLevel(DEFAULT_MICPHONE_STRENGTH);
- }
- BOOL RvcWindowsInitial::AutoLauchConfig(BOOL isLauchD)
- {
- m_log->LOGERROR("Begin Auto Lauch Config");
- //modify cmbuser password
- if (!ModefyUserPsw(CString(CMBUSER_NAME), CString(CMBUSER_TEMP_PSW), CString(CMBUSER_PSW)))
- return FALSE;
- //modify Administrator password
- if (!ModefyUserPsw(CString(ACCOUT_ADMIN), CString(ADMIN_PSW), CString("")))
- return FALSE;
- TCHAR Path[1024];
- if (0 == GetCurrentDirectory(1024, Path))
- return FALSE;
- CString processPath;
- if (isLauchD)
- processPath = CString(Path) + CString("\\RvcInit\\") + CString(AUTO_LAUCH_REG_PATHD);
- else
- processPath = CString(Path) + CString("\\RvcInit\\") + CString(AUTO_LAUCH_REG_PATHC);
- return AutoLauch(processPath);
- }
- BOOL RvcWindowsInitial::AutoLauchRestore()
- {
- m_log->LOGERROR("Begin Auto Lauch Restore");
- TCHAR Path[1024];
- if (0 == GetCurrentDirectory(1024, Path))
- return FALSE;
- CString processPath = CString(Path) + CString("\\RvcInit\\") + CString(AUTO_LAUCH_REG_RESTORE);
- return AutoLauch(processPath);
- }
- BOOL RvcWindowsInitial::clearAdminPw()
- {
- if (!ModefyUserPsw(CString(ACCOUT_ADMIN), CString(ADMIN_PSW), CString("")))
- return FALSE;
- return TRUE;
- }
- BOOL RvcWindowsInitial::CloseWifi()
- {
- return wifiConfig(FALSE);
- }
- BOOL RvcWindowsInitial::CheckWifi()
- {
- wstring str = getWirelessNetworkCardName();
- if (isWifiExist() && !str.empty())
- return TRUE;
- else
- return FALSE;
- }
- BOOL RvcWindowsInitial::CheckWifiExist()
- {
- return isWifiExist();
- }
- BOOL RvcWindowsInitial::CloseAutoRotation()
- {
- CString errStr;
- return autoRotationConfig(FALSE, errStr);
- }
- BOOL RvcWindowsInitial::checkAutoRotation()
- {
- return autoRotationStatus();
- }
- BOOL RvcWindowsInitial::setScreen(int width, int height)
- {
- return screenConfig(width, height);
- }
- BOOL RvcWindowsInitial::checkScreen(int width, int height)
- {
- int curWidth = 0, curHeight = 0;
- queryScreen(curWidth, curHeight);
- return width == curWidth && height == curHeight;
- }
- BOOL RvcWindowsInitial::SetMinDPI(TCHAR *SID, TCHAR *name)
- {
- if (NULL != SID)
- return DPIConfig(FALSE, CString(SID));
- CString accountName = CString(name), accountSID;
- if (NULL != name && QueryAccountSID(accountName, accountSID))
- return DPIConfig(FALSE, accountSID);
- return FALSE;
- }
- BOOL RvcWindowsInitial::checkMinDPI(TCHAR *SID, TCHAR *name /* = NULL */)
- {
- if (NULL != SID)
- return checkDPI(CString(SID));
- CString accountName = CString(name), accountSID;
- if (NULL != name && QueryAccountSID(accountName, accountSID))
- return checkDPI(accountSID);
- return FALSE;
- }
- BOOL RvcWindowsInitial::InitAdmin()
- {
- TerminateExplorer();
- return InitUser(CString(ACCOUT_ADMIN), CString(ADMIN_PSW));
- }
- BOOL RvcWindowsInitial::InitCmbUser()
- {
- TerminateExplorer();
- if (ERROR_SUCCESS != system("net user Cmbuser 11111111")) return false;
- return InitUser(CString(CMBUSER_NAME), CString(CMBUSER_TEMP_PSW));
- }
- BOOL RvcWindowsInitial::checkMainInit(TCHAR *errStr)
- {
- m_log->LOGERROR("check mainInit");
- return sysInit.checkInitByType(errStr);
- }
- BOOL tempMainInit(CString &lastErr)
- {
- m_log->LOGERROR("Begin mainInit");
- switch (sysInit.getSysType())
- {
- case PAD_FLB:
- return sysInit.InitialPad_Flb(lastErr);
- case PAD_LIB:
- return sysInit.InitialPad_Lib(lastErr);
- case CMB_LIB:
- return sysInit.InitialBig_Lib(lastErr);
- case CMB_FLB:
- lastErr = CString(_T("当前版本不支持行外大机版终端操作系统初始化"));
- return FALSE;
- default:
- lastErr = CString(_T("未知终端类型"));
- return FALSE;
- }
- }
- BOOL RvcWindowsInitial::mainInit(TCHAR *errStr)
- {
- CString lastErr;
- BOOL result = tempMainInit(lastErr);
- CStringToTChar(lastErr, errStr, lastErr.GetLength() + 1);
- SYSTEM_ON(CString(_T("powershell -ExecutionPolicy Unrestricted Add-AppxPackage -DisableDevelopmentMode -Register $Env:C:\Windows\ImmersiveControlPanel\AppxManifest.xml")));
- //开启Win8的全部设置页面
- return result;
- }
- BOOL RvcWindowsInitial::endInit()
- {
- if (!ModefyUserPsw(CString(CMBUSER_NAME), CString(CMBUSER_TEMP_PSW), CString(CMBUSER_PSW)))
- return FALSE;
- return TRUE;
- }
- BOOL RvcWindowsInitial::InitRestore()
- {
- m_log->LOGERROR("Begin Restore");
- switch (sysInit.getSysType())
- {
- case PAD_FLB:
- return sysInit.DisableInitialPad_Flb();
- case PAD_LIB:
- return sysInit.DisableInitialPad_Lib();
- case CMB_LIB:
- return sysInit.DisableInitialBig_Lib();
- case CMB_FLB:
- return FALSE;
- default:
- return FALSE;
- break;
- }
- }
|