コード例 #1
0
ファイル: GlobalFuncs.cpp プロジェクト: zeriyoshi/LunaDLL
std::wstring getLatestConfigFile(const std::wstring& configname)
{
    return getLatestFile({
        getModulePath() + L"//" + configname,
        getModulePath() + L"//config//" + configname
    });
}
コード例 #2
0
ファイル: SaoriTest.cpp プロジェクト: ponapalt/csaori
/*---------------------------------------------------------
	実行
---------------------------------------------------------*/
void CSAORI::exec(const CSAORIInput& in,CSAORIOutput& out){
	out.result_code = SAORIRESULT_OK;

	out.result = getModulePath();
	out.result += in.args[0];
	out.result += in.args[1];
}
コード例 #3
0
void versionManager::getMainModuleVersion(VMMAPDEF& mapVersion)
{
	std::string   strVersion = "";
	TCHAR szBankPath[1000];

	_tcscpy_s(szBankPath, getModulePath().c_str());
	_tcscat_s(szBankPath, _T("\\MoneyHub.exe"));

	CFileVersionInfo vinfo;
	if (vinfo.Create(szBankPath))
	{
		tstring strFileVersion = vinfo.GetFileVersion();
		replace(strFileVersion.begin(), strFileVersion.end(), ',', '.');
		strFileVersion.erase(remove(strFileVersion.begin(), strFileVersion.end(), ' '), strFileVersion.end());
		strVersion = std::string(CT2A(strFileVersion.c_str(), 936));
	}
	else 
		return ;

	USES_CONVERSION;
	if(m_bEnName)
		mapVersion.insert(std::make_pair(L"Main",A2W(strVersion.c_str()) ) );
	else
	{
	    VMMAPDEF::iterator it = m_mapEnChName.find(L"Main");
		if( it != m_mapEnChName.end() )
			mapVersion.insert(std::make_pair(it->second.c_str(), A2W(strVersion.c_str()) ) );
	}
}
コード例 #4
0
ファイル: stagingmodule.cpp プロジェクト: 151706061/Voreen
StagingModule::StagingModule(const std::string& modulePath)
    : VoreenModule(modulePath)
{
    setID("Staging");
    setGuiName("Staging");

    addShaderPath(getModulePath("glsl"));

    registerSerializableType(new AlignedSliceProxyGeometry());
    registerSerializableType(new ArbitraryVolumeClipping());
    registerSerializableType(new SamplingPositionTransformation());
    registerSerializableType(new InteractiveRegistrationWidget());
    registerSerializableType(new MultiSliceRenderer());
    registerSerializableType(new MultiSliceViewer());
    registerSerializableType(new Pong());
    registerSerializableType(new SliceProxyGeometry());
    registerSerializableType(new ScreenSpaceAmbientOcclusion());
    registerSerializableType(new SingleOctreeRaycasterCPU());
    registerSerializableType(new TabbedView());
    registerSerializableType(new TouchEventSimulator());
    registerSerializableType(new TransFuncOverlay());
    registerSerializableType(new RegistrationInitializer());
#ifdef GL_ATOMIC_COUNTER_BUFFER //disable compilation for old gl headers
    registerSerializableType(new MultiVolumeGeometryRaycaster());
#endif
    registerSerializableType(new VolumeChannelMerger());
    registerSerializableType(new VolumeChannelSeparator());

}
コード例 #5
0
void InstallPack(bool isvalid = true)
{
	DWORD dwType;
	TCHAR szCmdLine[1024];
	DWORD dwReturnBytes = sizeof(szCmdLine);

	if (ERROR_SUCCESS != ::SHGetValue(HKEY_CURRENT_USER, _T("Software\\Bank\\Update"), 
		_T("InstallPack"), &dwType, szCmdLine, &dwReturnBytes)
		|| dwType != REG_SZ)
		return;

	CDownloadOperation don;
	
	don.ShowMessage();//显示升级信息

	don.uncompressFile();
	Sleep(1000);
	
	bool bIsFileSafe = _UpdateMgr.isSafeFile(szCmdLine);
	if(0 != _tcscmp(_T("modules"),szCmdLine) && bIsFileSafe )
	{
		ShellExecute(GetDesktopWindow(), _T("open"), szCmdLine, L"/upgrade", NULL, SW_SHOWNORMAL);
		//Sleep(3000);  
	}
	else//主程序升级包未通过完整性校验,启动moneyhub.exe
	{
		deleteAllReg();
		ShellExecuteA(GetDesktopWindow(),"open",getModulePath().c_str(),NULL,NULL,SW_SHOWNORMAL);
		don.deleteAllUpdataFile();
	}
}
コード例 #6
0
ファイル: plugin.cpp プロジェクト: binoc-software/mozilla-cvs
void CPlugin::autoStartScriptIfNeeded()
{
  if (!m_Pref_bAutoStartScript)
    return;

  CScripter scripter;
  scripter.associate(this);

  char szFileName[_MAX_PATH];
  getModulePath(szFileName, sizeof(szFileName));
  strcat(szFileName, m_Pref_szScriptFile);

  if(scripter.createScriptFromFile(szFileName))
  {
    int iRepetitions = scripter.getCycleRepetitions();
    int iDelay = scripter.getCycleDelay();
    if(iDelay < 0)
      iDelay = 0;

    assert(pLogger != NULL);
    pLogger->resetStartTime();

    for(int i = 0; i < iRepetitions; i++)
    {
      scripter.executeScript();
      if(iDelay != 0)
        XP_Sleep(iDelay);
    }
  }
  else
  {
    MessageBox(NULL, "Script file not found or invalid", "", MB_OK | MB_ICONERROR);
  }
}
コード例 #7
0
void versionManager::getOtherModuleVersion(VMMAPDEF& mapVersion)
{
	wstring vs;
	std::vector <std::wstring> vecWcspath;

	std::wstring wcsPath = getModulePath();
	std::wstring wcsTmp = wcsPath + L"\\Html\\info.mchk";
	vecWcspath.push_back(wcsTmp);
	wcsTmp = wcsPath + L"\\Config\\info.mchk";
	vecWcspath.push_back(wcsTmp);

	USES_CONVERSION;
	for(size_t i=0; i<vecWcspath.size(); i++)
	{
		wstring szBankName = L"F";
		if(  getVersionFromChk(vs,W2A(vecWcspath[i].c_str()), szBankName) )
		{
			wchar_t wcsModuleName[MAX_PATH] = {0};
			wcscpy_s(wcsModuleName, _countof(wcsModuleName), vecWcspath[i].c_str() );
			*( wcsrchr(wcsModuleName, L'\\') ) = L'\0';
			wchar_t *p = wcsrchr(wcsModuleName, L'\\');

			if(m_bEnName)
				mapVersion.insert(std::make_pair(p+1, vs ));
			else
			{
				VMMAPDEF::iterator it = m_mapEnChName.find(p+1);
				if( it != m_mapEnChName.end() )
					mapVersion.insert(std::make_pair(it->second.c_str(), vs ));
			}
		}
	}

	return ;
}
コード例 #8
0
void versionManager::getBankModuleVersion(VMMAPDEF& mapVersion)
{
	std::wstring wsModulePath = getModulePath();
	wsModulePath += L"\\";
	wsModulePath += BANKINFOPATH;

	if(false == traverseFile((LPWSTR)wsModulePath.c_str(), NULL, mapVersion) )
		return ;
}
コード例 #9
0
StereoscopyModuleQt::StereoscopyModuleQt(const std::string& modulePath)
    : VoreenModuleQt(modulePath)
{
    setID("Stereoscopy (Qt)");
    setGuiName("Stereoscopy (Qt)");

    addShaderPath(getModulePath("glsl/qt"));

    registerProcessorWidgetFactory(new StereoscopyProcessorWidgetFactory());
}
コード例 #10
0
ファイル: plugin.cpp プロジェクト: binoc-software/mozilla-cvs
void CPlugin::getLogFileName(PSZ szLogFileName, int iSize)
{
  if(getMode() == NP_EMBED)
  {
    char sz[256];
    getModulePath(szLogFileName, iSize);
    WinQueryWindowText(WinWindowFromID(m_hWnd, IDC_EDIT_LOG_FILE_NAME), sizeof(sz), sz);
    strcat(szLogFileName, sz);
  }
  else
    CPluginBase::getLogFileName(szLogFileName, iSize);
}
コード例 #11
0
VolumeLabelingModule::VolumeLabelingModule(const std::string& modulePath)
    : VoreenModule(modulePath)
{
    setID("VolumeLabeling");
    setGuiName("VolumeLabeling");

    addShaderPath(getModulePath("glsl"));

    registerSerializableType(new IDRaycaster());
    registerSerializableType(new VolumeLabeling());

}
コード例 #12
0
luabind::object luabindResolveFile(std::string file, lua_State* L){
    std::vector<std::string> paths = {
        WStr2Str(getCustomFolderPath()),
        (std::string)GM_FULLDIR,
        WStr2Str(getModulePath()) + "\\LuaScriptsLib\\",
        WStr2Str(getModulePath()) + "\\"
    };



    for (std::string nextSearchPath : paths) {
        std::string nextEntry = nextSearchPath + file;
        DWORD objectAttributes = GetFileAttributesA(nextEntry.c_str());
        if(objectAttributes == INVALID_FILE_ATTRIBUTES)
            continue;
        if(objectAttributes & FILTER)
            return luabind::object(L, nextEntry);
    }

    return luabind::object();
}
コード例 #13
0
ファイル: module.cpp プロジェクト: murali-s-iyengar/mesos
// Add available Allocator modules.
static void addAllocatorModules(Modules* modules)
{
  CHECK_NOTNULL(modules);

  // Now add our allocator module.
  Modules::Library* library = modules->add_libraries();
  library->set_file(getModulePath("testallocator"));

  // To add a new module from this library, create a new ModuleID enum
  // and tie it with a module name.
  addModule(library, TestDRFAllocator, "org_apache_mesos_TestDRFAllocator");
}
コード例 #14
0
ファイル: module.cpp プロジェクト: murali-s-iyengar/mesos
// Add available ContainerLogger modules.
static void addContainerLoggerModules(Modules* modules)
{
  CHECK_NOTNULL(modules);

  // Add our test container logger module.
  Modules::Library* library = modules->add_libraries();
  library->set_file(getModulePath("testcontainer_logger"));

  // To add a new module from this library, create a new ModuleID enum
  // and tie it with a module name.
  addModule(library,
            TestSandboxContainerLogger,
            "org_apache_mesos_TestSandboxContainerLogger");

  // Add the second container logger module.
  library = modules->add_libraries();
  library->set_file(getModulePath("logrotate_container_logger"));

  addModule(library,
            LogrotateContainerLogger,
            "org_apache_mesos_LogrotateContainerLogger");

  // Pass in the directory for the binary test sources.
  Modules::Library::Module* module = library->mutable_modules(0);
  mesos::Parameter* moduleParameter = module->add_parameters();
  moduleParameter->set_key("launcher_dir");
  moduleParameter->set_value(getLauncherDir());

  // Set the size and number of log files to keep.
  moduleParameter = module->add_parameters();
  moduleParameter->set_key("max_stdout_size");
  moduleParameter->set_value(stringify(Megabytes(2)));

  // NOTE: This is a 'logrotate' configuration option.
  // It means to "rotate" a file 4 times before removal.
  moduleParameter = module->add_parameters();
  moduleParameter->set_key("logrotate_stdout_options");
  moduleParameter->set_value("rotate 4");
}
コード例 #15
0
ファイル: module.cpp プロジェクト: murali-s-iyengar/mesos
// Add available Isolator modules.
static void addIsolatorModules(Modules* modules)
{
  CHECK_NOTNULL(modules);

  // Now add our test CPU and Memory isolator modules.
  Modules::Library* library = modules->add_libraries();
  library->set_file(getModulePath("testisolator"));

  // To add a new module from this library, create a new ModuleID enum
  // and tie it with a module name.
  addModule(library, TestCpuIsolator, "org_apache_mesos_TestCpuIsolator");
  addModule(library, TestMemIsolator, "org_apache_mesos_TestMemIsolator");
}
コード例 #16
0
ファイル: csaori_interface.cpp プロジェクト: 82488059/csaori
void CSAORI::exec(const CSAORIInput& in,CSAORIOutput& out)
{
	int res = SQLITE_OK;
	sql->clear();

	if (in.args.size() <= 0) {
		out.result_code = SAORIRESULT_NO_CONTENT;
		return;
	}

	if (in.args[0] == L"OPEN") {
		if (in.args.size() == 1) {
			res = sql->open(SAORI_FUNC::UnicodeToMultiByte(getModulePath() + L"sqlori.db", CP_UTF8));
		}
		else {
			res = sql->open(SAORI_FUNC::UnicodeToMultiByte(getModulePath() + in.args[1], CP_UTF8));
		}
	}
	else if (in.args[0] == L"EXEC") {
		if (in.args.size() >= 2) {
			res = sql->exec(SAORI_FUNC::UnicodeToMultiByte(in.args[1], CP_UTF8));
		}
	}
	else if (in.args[0] == L"CLOSE") {
		res = sql->close();
	}
	else if (in.args[0] == L"SQLITE_VERSION") {
		out.result_code = SAORIRESULT_OK;
		out.result = SAORI_FUNC::intToString(SQLITE_OK) + L"\2Version\2" + SAORI_FUNC::MultiByteToUnicode(sqlite3_libversion(), CP_UTF8);
		return;
	}

	out.result_code = SAORIRESULT_OK;
	out.result = SAORI_FUNC::intToString(res) + L"\2" + SAORI_FUNC::MultiByteToUnicode(sql->result(), CP_UTF8);
	
//	out.result = L"Charset = " + SAORI_FUNC::CHARSETtoString(in.charset);
//	out.charset = CHARSET_UTF_8;
}
コード例 #17
0
ファイル: plugin.cpp プロジェクト: binoc-software/mozilla-cvs
void CPlugin::getLogFileName(LPSTR szLogFileName, int iSize)
{
  if(getMode() == NP_EMBED)
  {
    char sz[256];
    getModulePath(szLogFileName, iSize);
    Edit_GetText(GetDlgItem(m_hWnd, IDC_EDIT_LOG_FILE_NAME), sz, sizeof(sz));
    if(!strlen(sz))
      strcpy(sz, m_Pref_szLogFile);
    strcat(szLogFileName, sz);
  }
  else
    CPluginBase::getLogFileName(szLogFileName, iSize);
}
コード例 #18
0
/**
*  根据需求,如果更新文件有白名单更改文件,忽略白名单缓存重建
*/
bool CDownloadOperation::UpdateWBFile(WBRETURN wb)
{
	bool bReturn = true;
	//更新黑白名单缓存
	std::wstring wsModulePath = getModulePath();
	wsModulePath += L"Moneyhub_Svc.exe";//-reblack -rebuild

	HANDLE hWait[2] = {0};

	switch( wb )
	{
	case BLACKUPDATE:
		hWait[0] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_BLACKUPDATE");
		if( hWait[0] )
		{
			ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-reblack",NULL,SW_SHOW );
			WaitForMultipleObjects(1,hWait,TRUE, 30000);
			CloseHandle(hWait[0]);
		}
		break;
	case WHITEUPDATE:
		hWait[1] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_WHITEUPDATE");
		if( hWait[0] )
		{
			//ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-rebuild",NULL,SW_SHOW );
			//WaitForMultipleObjects(1,hWait,TRUE, 50000);
			CloseHandle(hWait[1]);
		}
		break;
	case ALL:
		hWait[0] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_BLACKUPDATE");
		hWait[1] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_WHITEUPDATE");
		if( hWait[0] && hWait[1])
		{
			ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-reblack",NULL,SW_SHOW );
			//ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-rebuild",NULL,SW_SHOW );
			WaitForMultipleObjects(1,hWait,TRUE, 30000);
			CloseHandle(hWait[0]);
			CloseHandle(hWait[1]);
		}
		break;
	default:
		break;
	}

	return bReturn;
}
コード例 #19
0
void CPluginBase::getLogFileName(LPSTR szLogFileName, int iSize)
{
  char szFileName[_MAX_PATH];
  getModulePath(szFileName, sizeof(szFileName));
  strcat(szFileName, szINIFile);
  XP_GetPrivateProfileString(SECTION_LOG, KEY_FILE_NAME, "", szLogFileName, (DWORD)iSize, szFileName);
  if(!*szLogFileName)
  {
    strcpy(szLogFileName, m_szScriptCacheFile);

    // last three chars MUST be pts
    int iLength = strlen(szLogFileName);
    szLogFileName[iLength - 3] = 'l';
    szLogFileName[iLength - 2] = 'o';
    szLogFileName[iLength - 1] = 'g';
  }
}
コード例 #20
0
ファイル: module.cpp プロジェクト: murali-s-iyengar/mesos
// Add available Authentication modules.
static void addAuthenticationModules(Modules* modules)
{
  CHECK_NOTNULL(modules);

  // Now add our test authentication modules.
  Modules::Library* library = modules->add_libraries();
  library->set_file(getModulePath("testauthentication"));

  // To add a new module from this library, create a new ModuleID enum
  // and tie it with a module name.
  addModule(library,
            TestCRAMMD5Authenticatee,
            "org_apache_mesos_TestCRAMMD5Authenticatee");
  addModule(library,
            TestCRAMMD5Authenticator,
            "org_apache_mesos_TestCRAMMD5Authenticator");
}
コード例 #21
0
luabind::object LuaProxy::Misc::listFiles(const std::string& path, lua_State* L)
{
    luabind::object theList = luabind::newtable(L);
    std::string modulePath = path;
    if (!isAbsolutePath(path))
    {
        modulePath = WStr2Str(getModulePath());
        modulePath += "\\";
        modulePath += path;
    }
    std::vector<std::string> listedFiles = listFilesOfDir(modulePath);
    for (unsigned int i = 0; i < listedFiles.size(); ++i){
        theList[i + 1] = listedFiles[i];
    }
    return theList;

}
コード例 #22
0
ファイル: GlobalFuncs.cpp プロジェクト: zeriyoshi/LunaDLL
/// INIT GLOBALS
void InitGlobals()
{
	avcodec_register_all();
	avdevice_register_all();
	av_register_all();
    //char* dbg = "GLOBAL INIT DBG";
	
    gIsWindowsVistaOrNewer = IsWindowsVistaOrNewer();

	//startup settings default
    memset(&gStartupSettings, 0, sizeof(gStartupSettings));

	srand((int)time(NULL));

	// Get compatible handle for screen
	ghMemDC = CreateCompatibleDC(NULL);

	BITMAPINFO bmi;
	memset(&bmi, 0, sizeof(BITMAPINFO));
	bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
	bmi.bmiHeader.biWidth = 800;
	bmi.bmiHeader.biHeight = -600;
	bmi.bmiHeader.biPlanes = 1;
	bmi.bmiHeader.biBitCount = 32;
	bmi.bmiHeader.biCompression = BI_RGB;
	gpScreenBits = 0;

	ghGeneralDIB = CreateDIBSection(ghMemDC, &bmi, DIB_RGB_COLORS, (void**)&gpScreenBits, 0, 0);

	// Try to activate death counter, and disable it if there's some problem
	gDeathCounter.TryLoadStats();
	if(gDeathCounter.mStatFileOK == false)
		gDeathCounter.mEnabled = false;

	/// Init autocode manager	

	gAutoMan.Clear(true);
	gAutoMan.ReadGlobals(getModulePath());
	gAutoMan.m_GlobalEnabled = true;

    // Be sure that the config folder exist
    if (GetFileAttributesW(L"config") & INVALID_FILE_ATTRIBUTES) {
        CreateDirectoryW(L"config", NULL);
    }

}
コード例 #23
0
ファイル: LuaProxyData.cpp プロジェクト: ifzz/LunaDLL
std::string LuaProxy::Data::resolvePathFromSection()
{
	std::string levelName = WStr2Str(::Level::GetName());
	std::string episodePath = (std::string)GM_FULLDIR;
	std::string smbxPath = WStr2Str(getModulePath());
	std::string returnPath = "";
	switch (m_dataType)
	{
	case LuaProxy::Data::DATA_LEVEL:
		returnPath += episodePath;
		returnPath += removeExtension(levelName);
		returnPath += "\\";
		returnPath += "LuaData_";
		if (m_useSaveSlot)
			returnPath += "Save" + std::to_string(GM_CUR_SAVE_SLOT) + "_";
		returnPath += m_sectionName;
		returnPath += ".txt";
		break;
	case LuaProxy::Data::DATA_WORLD:
		returnPath += episodePath;
		returnPath += "LuaData_";
		if (m_useSaveSlot)
			returnPath += "Save" + std::to_string(GM_CUR_SAVE_SLOT) + "_";
		returnPath += m_sectionName;
		returnPath += ".txt";
		break;
	case LuaProxy::Data::DATA_GLOBAL:
	default:
		returnPath += smbxPath;
		returnPath += "\\worlds\\";
		returnPath += "LuaData_";
		if (m_useSaveSlot)
			returnPath += "Save" + std::to_string(GM_CUR_SAVE_SLOT) + "_";
		returnPath += m_sectionName;
		returnPath += ".txt";
		break;
	}
	return returnPath;
}
コード例 #24
0
WBRETURN CDownloadOperation::IsNewTBCacheFile( wchar_t * pFileName )
{
	WBRETURN bReturn = NONE;

	//黑白名单位于 Config文件夹内
	if( wcscmp(L"Config.cab", pFileName) != 0 )
		return bReturn;
	
	std::wstring newFile ;

	newFile = this->getBankCachePath( true );


	std::wstring existingFile ;
	existingFile = getBankCachePath();
	existingFile += pFileName;

			
	CCabExtract tt;
	if(tt.ExtractFile(existingFile.c_str(), newFile.c_str() ) )
	{
		OutputDebugStringW(L"extractFile is OK!");
	}


#define BUFSIZEFORMD5         4 * 1024 * 1024
	unsigned char * pBuf = new unsigned char[BUFSIZEFORMD5];
	unsigned char * pCheckE = new unsigned char[16];
	unsigned char * pCheckN = new unsigned char[16];
	DWORD dwTmp = 0;

	if( pBuf && pCheckN && pCheckE )
	{
		for( int i=0; i < m_vecWBFileName.size(); i++)
		{
				std::wstring wsNewFile = newFile;
				std::wstring wsExistingFile = getModulePath();

				wsNewFile += L"Config\\";
				wsExistingFile += L"Config\\";

				wsNewFile += m_vecWBFileName[i].c_str();
				wsExistingFile += m_vecWBFileName[i].c_str();

				HANDLE hFileE = CreateFile(wsExistingFile.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL, NULL);
				HANDLE hFileN = CreateFile(wsNewFile.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL, NULL);
				if( !(INVALID_HANDLE_VALUE == hFileE || INVALID_HANDLE_VALUE == hFileN) )
				{
					/////对缓存文件进行MD5计算
					ZeroMemory(pBuf, BUFSIZEFORMD5);
					CMD5 md5E;
					while(1)
					{
						if( ReadFile(hFileE, pBuf, BUFSIZEFORMD5, &dwTmp, NULL) )
						{
							if( 0 == dwTmp)	
								break;

							md5E.MD5Update(pBuf, dwTmp);
						}
					}
					md5E.MD5Final(pCheckE);
					/////对黑白名单文件文件进行MD5计算
					ZeroMemory(pBuf, BUFSIZEFORMD5);
					CMD5 md5N;
					while(1)
					{
						CMD5 md5;
						if( ReadFile(hFileN, pBuf, BUFSIZEFORMD5, &dwTmp, NULL) )
						{
							if( 0 == dwTmp)
								break;

							md5N.MD5Update(pBuf, dwTmp);
						}
					}	
					md5N.MD5Final(pCheckN);
				}
			
				CloseHandle(hFileE);
				CloseHandle(hFileN);

			if( 0 != memcmp(pCheckN, pCheckE, 16) )
			{
				if( i==0 )
				{	
					if( bReturn == WHITEUPDATE )
					{
						bReturn = ALL;
						break;
					}
					bReturn = BLACKUPDATE;
				}
				else
				{	
					if( bReturn == BLACKUPDATE )
					{
						bReturn = ALL;
						break;
					}
					bReturn = WHITEUPDATE;
				}
			}
		}
	}

	return bReturn;
}
コード例 #25
0
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow)
{
	g_strSkinDir = ::GetModulePath();
	g_strSkinDir += _T("\\Skin\\");
	ThreadCacheDC::InitializeThreadCacheDC();
	ThreadCacheDC::CreateThreadCacheDC();


	Gdiplus::GdiplusStartupInput gdiplusStartupInput;
	ULONG_PTR gdiplusToken;
	Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

	// 临时目录
	_TempCachePath = GetTempCachePath(hInstance);

	if (IsRunning())
		return 0;

	if(!_tcsstr( lpstrCmdLine, _T("/h") ))
	{
		wchar_t wcsTmpPath[MAX_PATH] = {0};
		GetModuleFileNameW(NULL,wcsTmpPath,_countof(wcsTmpPath) );
		mhMessageBox(NULL,(wcscat_s(wcsTmpPath, _countof(wcsTmpPath), L" 不是有效的 win32 应用程序。"), wcsTmpPath),L"提示",MB_OK);
		exit(1);
	}	
	//////////////////////////////////////////////////////////////////////////
	// (1)是安装情况
	
	if ( !IsDownload(lpstrCmdLine, &_Module.m_bByUserClick, &_Module.m_hOuterParent)   )//moneyhub.exe execute
	{
		CDownloadOperation dop;
		int index = dop.isValid();

		if( index )
		{
			CBankProcessMgr BankMgr;
			std::vector<HANDLE> vecProcess;

			// 让所有bank退出
			::PostMessage(HWND_BROADCAST, WM_BROADCAST_QUIT, 0, 0);
			Sleep(1000);

			if (BankMgr.GetProcList(_T("MoneyHub.exe"), vecProcess) > 0)
				BankMgr.TermProcList(vecProcess);

			// 运行安装包
			InstallPack();
		}
		else
		{
			deleteAllReg();
			dop.deleteAllUpdataFile();
			ShellExecuteA(GetDesktopWindow(),"open",getModulePath().c_str(),NULL,NULL,SW_SHOWNORMAL);
		}

		return 0;
	}
	else if( isDownLoadOK()  )
	{
		return 0;
	}

	//////////////////////////////////////////////////////////////////////////
	// (2)是下载情况

	HRESULT hRes = ::CoInitialize(NULL);
// If you are running on NT 4.0 or higher you can use the following call instead to 
// make the EXE free threaded. This means that calls come in on a random RPC thread.
//	HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
	ATLASSERT(SUCCEEDED(hRes));

	// this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used
	::DefWindowProc(NULL, 0, 0, 0L);

	AtlInitCommonControls(ICC_WIN95_CLASSES | ICC_PROGRESS_CLASS | ICC_BAR_CLASSES);	// add flags to support other controls

	hRes = _Module.Init(NULL, hInstance);
	ATLASSERT(SUCCEEDED(hRes));

	int nRet = Run(lpstrCmdLine, nCmdShow);

	_Module.Term();
	::CoUninitialize();

	if (_hUpdateMutex)
		CloseHandle(_hUpdateMutex);

	return nRet;
}
コード例 #26
0
std::wstring CDownloadOperation::getAppDataPath()
{
	return getModulePath();
}
コード例 #27
0
BaseModule::BaseModule(const std::string& modulePath) : VoreenModule(modulePath) {
    setID("Base");
    setGuiName("Base");

    // entry-exit points
    registerSerializableType(new EEPGeometryIntegrator());
    registerSerializableType(new MeshEntryExitPoints());

    // geometry
    registerSerializableType(new BoundingBoxRenderer());
    registerSerializableType(new CameraPositionRenderer());
    registerSerializableType(new GeometryProcessor());
    registerSerializableType(new GeometryRenderer());
    registerSerializableType(new GeometryClipping());
    registerSerializableType(new GeometrySlabClipping());
    registerSerializableType(new GeometryTransformation());
    registerSerializableType(new GeometryTransformationVolume());
    registerSerializableType(new LightWidgetRenderer());
    registerSerializableType(new PlaneManipulation());
    registerSerializableType(new PlaneWidgetProcessor());
    registerSerializableType(new PointListRenderer());
    registerSerializableType(new PointSegmentListRenderer());
    registerSerializableType(new QuadricRenderer());
    registerSerializableType(new SlicePositionRenderer());
    registerSerializableType(new TriangleMeshConverter());

    // image
    registerSerializableType(new Background());
    registerSerializableType(new BinaryImageProcessor());
    registerSerializableType(new ColorDepth());
    registerSerializableType(new Compositor());
    registerSerializableType(new Convolution());
    registerSerializableType(new DepthDarkening());
    registerSerializableType(new EdgeDetect());
    registerSerializableType(new ExplosionCompositor());
    registerSerializableType(new Fade());
    registerSerializableType(new Gaussian());
    registerSerializableType(new Grayscale());
    registerSerializableType(new ImageMasking());
    registerSerializableType(new ImageMorphology());
    registerSerializableType(new ImageOverlay());
    registerSerializableType(new ImageThreshold());
    registerSerializableType(new Mean());
    registerSerializableType(new Median());
    registerSerializableType(new MultiView());
    registerSerializableType(new NonMinMaxSuppression());
    registerSerializableType(new OrientationOverlay());
    registerSerializableType(new QuadView());
    registerSerializableType(new RegionOfInterest2D());
    registerSerializableType(new Splitter());
    registerSerializableType(new TextOverlay());
    registerSerializableType(new TripleView());
    registerSerializableType(new UnaryImageProcessor());
    registerSerializableType(new UnsharpMasking());

    // proxy geometry
    registerSerializableType(new CubeProxyGeometry());
    registerSerializableType(new ExplosionProxyGeometry());
    registerSerializableType(new MultiPassProxyGeometry());
    registerSerializableType(new MultiPlanarProxyGeometry());
    registerSerializableType(new MultiVolumeProxyGeometry());
    registerSerializableType(new OptimizedProxyGeometry());

    // render
    registerSerializableType(new CPURaycaster());
    registerSerializableType(new MultiplanarSliceRenderer());
    registerSerializableType(new MultiVolumeRaycaster());
    registerSerializableType(new SegmentationRaycaster());
    registerSerializableType(new SimpleRaycaster());
    registerSerializableType(new SingleVolumeRaycaster());
    registerSerializableType(new SingleVolumeSlicer());
    registerSerializableType(new SliceViewer());
    registerSerializableType(new RGBRaycaster());

    // utility
    registerSerializableType(new ClockProcessor());
    registerSerializableType(new DistanceMeasure());
    registerSerializableType(new IntensityMeasure());
    registerSerializableType(new ImageSequenceLoopInitiator());
    registerSerializableType(new ImageSequenceLoopFinalizer());
    registerSerializableType(new MetaDataExtractor());
    registerSerializableType(new MultiScale());
    registerSerializableType(new RenderLoopInitiator());
    registerSerializableType(new RenderLoopFinalizer());
    registerSerializableType(new RenderStore());
    registerSerializableType(new SegmentationValidation());
    registerSerializableType(new SingleScale());
    registerSerializableType(new VolumeListModalityFilter());
    registerSerializableType(new VolumeInformation());
    registerSerializableType(new VolumePicking());

    // volume
    registerSerializableType(new VectorMagnitude());
    registerSerializableType(new VolumeCombine());
    registerSerializableType(new VolumeComposer());
    registerSerializableType(new VolumeCreate());
    registerSerializableType(new VolumeFloatCreate());
    registerSerializableType(new VolumeCrop());
    registerSerializableType(new VolumeCubify());
    registerSerializableType(new VolumeDecomposer());
    registerSerializableType(new VolumeDistanceTransform());
    registerSerializableType(new VolumeFiltering());
    registerSerializableType(new VolumeFormatConversion());
    registerSerializableType(new VolumeGradient());
    registerSerializableType(new VolumeHalfsample());
    registerSerializableType(new VolumeInversion());
    registerSerializableType(new VolumeLandmarkRegistration());
    registerSerializableType(new VolumeMasking());
    registerSerializableType(new VolumeMirror());
    registerSerializableType(new VolumeMorphology());
    registerSerializableType(new VolumeResample());
    registerSerializableType(new VolumeSpacing());
    registerSerializableType(new VolumeTransformation());
    registerSerializableType(new VolumeOffset());
    registerSerializableType(new VolumeVorticity());
    registerSerializableType(new VolumeCreateFFTSpectrum());
    registerSerializableType(new VolumeConvertFFTReal());
    registerSerializableType(new VolumeConvertFFTImaginary());
    registerSerializableType(new VolumeSelection());
    registerSerializableType(new VolumeSelectionAndDuplication());
    registerSerializableType(new VolumeDuplication());
    registerSerializableType(new Volume3DFFT());

    // volume readers/writers
    registerVolumeReader(new AnalyzeVolumeReader());
    registerVolumeReader(new BrukerVolumeReader());
    registerVolumeReader(new ECAT7VolumeReader());
    registerVolumeReader(new InveonVolumeReader());
    registerVolumeReader(new MultiVolumeReader(0));
    registerVolumeReader(new MhdVolumeReader());
    registerVolumeWriter(new MhdVolumeWriter());
    registerVolumeReader(new NrrdVolumeReader());
    registerVolumeWriter(new NrrdVolumeWriter());
    registerVolumeReader(new QuadHidacVolumeReader());
    registerVolumeReader(new Synth2DReader());
    registerVolumeReader(new RawVoxVolumeReader());
    registerVolumeReader(new TUVVolumeReader());

    // shader paths
    addShaderPath(getModulePath("glsl"));

    // RegionOfInterestGeometry
    registerSerializableType(new RegionOfInterest2D::RegionOfInterestGeometry());
}
コード例 #28
0
bool  versionManager::traverseFile(LPWSTR path, LPWSTR wName, VMMAPDEF& mapVersion )
{
	USES_CONVERSION;
	WIN32_FIND_DATAW  fw;
	HANDLE hFind= FindFirstFileW(path,&fw);

	if(hFind == INVALID_HANDLE_VALUE)
		return false;
	LPVOID p = (LPVOID)&fw;

	do
	{
		if(wcscmp(fw.cFileName,L".") == 0 || wcscmp(fw.cFileName,L"..") == 0 || wcscmp(fw.cFileName,L".svn") == 0)
			continue;

		if(fw.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
		{
			std::wstring wStr = getModulePath();
			wStr += L"\\";
			wStr += BANKINFOPATHNOFIND;
			wStr += fw.cFileName ;
			wStr += L"\\*.*";

			if(false == traverseFile((LPWSTR)wStr.c_str(), fw.cFileName, mapVersion))
				return false;
		}
		else  
		{
			if(0 == wcscmp(fw.cFileName,L"info.mchk"))//analysis version from info.mchk
			{
				std::wstring wsXmlPath = getModulePath();
				wsXmlPath += L"\\";
				wsXmlPath += BANKINFOPATHNOFIND;

				if(!wName)
					continue;

				wsXmlPath += wName;
				wsXmlPath += L'\\';
				wsXmlPath += fw.cFileName;

				wstring vs;
				wstring szBankName;

				if(false == getVersionFromChk(vs, W2A(wsXmlPath.c_str()), szBankName) )//得到版本号	
					continue;

				if(m_bEnName)
					mapVersion.insert(std::make_pair(wName, vs));
				else
				{
					mapVersion.insert(std::make_pair(szBankName, vs ));
				}

				FindClose(hFind);
				return true;
			}
		}

		p=(LPVOID)fw.cFileName;
	}
	while( FindNextFile(hFind,&fw) );  

	FindClose(hFind);

	return true;
}
コード例 #29
0
ファイル: chttpc.cpp プロジェクト: ponapalt/csaori
void CSAORI::exec(const CSAORIInput& in,CSAORIOutput& out)
{
	if (in.args.size() == 0) {
		out.result_code = SAORIRESULT_OK;
		out.result = (CInetHelper::checkInternet()) ? L"1" : L"0";
	} else {
		chttpc_conf *cc = new chttpc_conf;

		cc->url = SAORI_FUNC::UnicodeToMultiByte(in.args[0], CP_UTF8);

		if(strnicmp(cc->url.c_str(),"file:",5) == 0) {
			string_t fileW = checkAndModifyPathW(in.args[0].substr(5));
			cc->url = "file:"+SAORI_FUNC::UnicodeToMultiByte(fileW, CP_UTF8);
//			cc->url = checkAndModifyPath(cc->url.substr(5));
			cc->isLocalFile = true;
		}

		cc->codepage = in.codepage;
		cc->module_path = getModulePath();

		UINT idx;

		for(UINT i = 1; i < in.args.size(); i++) {
			if((idx = in.args[i].find(L"codepage=")) != string::npos) {
				cc->charset = in.args[i].substr(idx + const_strlen(L"codepage="));
			} else if((idx = in.args[i].find(L"save=")) != string::npos) {
				cc->saveOrginal = in.args[i].substr(idx + const_strlen(L"save="));
			} else if((idx = in.args[i].find(L"saveUtf8=")) != string::npos) {
				cc->saveUtf8 = in.args[i].substr(idx + const_strlen(L"saveUtf8="));
			} else if((idx = in.args[i].find(L"saveParsed=")) != string::npos) {
				cc->saveParsed = in.args[i].substr(idx + const_strlen(L"saveParsed="));
			} else if((idx = in.args[i].find(L"start=")) != string::npos) {
				cc->searchStart = in.args[i].substr(idx + const_strlen(L"start="));
			} else if((idx = in.args[i].find(L"end=")) != string::npos) {
				cc->searchEnd = in.args[i].substr(idx + const_strlen(L"end="));
			} else if((idx = in.args[i].find(L"id=")) != string::npos) {
				cc->id = in.args[i].substr(idx + const_strlen(L"id="));
			} else if((idx = in.args[i].find(L"hwnd=")) != string::npos) {
				cc->hwnd = reinterpret_cast<HWND>(_wtol(in.args[i].substr(idx + const_strlen(L"hwnd=")).c_str()));
			} else if((idx = in.args[i].find(L"strip")) != string::npos) {
				cc->isStripTag = true;
			} else if((idx = in.args[i].find(L"multiSearch")) != string::npos) {
				cc->isMultiSearch = true;
			} else if((idx = in.args[i].find(L"translate")) != string::npos) {
				cc->isTranslateTag = true;
			} else if((idx = in.args[i].find(L"noOutput")) != string::npos) {
				cc->isNoOutput = true;
			} else if((idx = in.args[i].find(L"removeTags=")) != string::npos) {
				string tags = SAORI_FUNC::UnicodeToMultiByte(in.args[i].substr(idx + const_strlen(L"removeTags=")));
				int cutAt;
				while( (cutAt = tags.find_first_of(",")) != string::npos ) {
					if(cutAt > 0) {
						cc->stripTags[tags.substr(0,cutAt)] = true;
					}
					tags = tags.substr(cutAt+1);
				}
				if(tags.length() > 0) {
					cc->stripTags[tags] = true;
				}
			}
		}

		if(cc->hwnd != NULL && !cc->id.empty()) {
			(new chttpcThread(cc))->create();
			out.result_code = SAORIRESULT_NO_CONTENT;
		} else {
			wstring result;
			int crresult = chttpc_runner::run(cc, result);
			delete cc;
			out.result_code = crresult ? SAORIRESULT_INTERNAL_SERVER_ERROR : SAORIRESULT_OK;
			out.result = result;
		}
	}
}