예제 #1
0
void PathHelper::RemoveFromPath(CStdString sPath)
{
	CStdString sFullPath = GetProcessPath();

	sFullPath.ToLower();
	sPath.ToLower();

	if ( sPath.Right(1) == _T("\\") )
	{
		sPath = sPath.Left(sPath.length() - 1);
	}

	int nStart = (x64_int_cast)sFullPath.find(sPath);

	while (nStart >= 0)  // there may be multiple copies
	{
		int nEnd = nStart + (x64_int_cast)sPath.length() + 1;

		sFullPath = sFullPath.Left(nStart) + sFullPath.Right(sFullPath.length() - nEnd );

		sFullPath.TrimRight();
		sFullPath.TrimLeft();

		if (sFullPath.Left(1) == _T(";"))
			sFullPath = sFullPath.Mid(1);

		sFullPath.Replace(_T(";;"),_T(";"));

		nStart = (x64_int_cast)sFullPath.find(sPath);
	}

	SetProcessPath(sFullPath);
}
예제 #2
0
void PathHelper::RestoreOriginalPath()
{
	SetProcessPath(m_sOriginalPath);
}
예제 #3
0
GarageThread::GarageThread(QString processPath)
{
    processRuning = 0;
    qDebug()<<processRuning;
    SetProcessPath(processPath);
}
예제 #4
0
void GarageThread::Run(QString processPath)
{
    SetProcessPath(processPath);
    run();
}