1,222
社区成员




#ifdef Q_OS_WIN
CopyFile(dirDest.filePath(fileInfo.fileName()).toStdWString().c_str(),dirBack.filePath(fileInfo.fileName()).toStdWString().c_str(),false);
if(!DeleteFile(dirDest.filePath(fileInfo.fileName()).toStdWString().c_str()))
{
int error = GetLastError();
ui->listLog->insertItem(0, QObject::tr("[%1] Delete %2 failure under %3 [%4]")
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
.arg(fileInfo.fileName())
.arg(dirDest.absolutePath()).arg(error));
}
if(!CopyFile(fileInfo.filePath().toStdWString().c_str(),dirDest.filePath(fileInfo.fileName()).toStdWString().c_str(),false))
{
int error = GetLastError();
ui->listLog->insertItem(0, QObject::tr("[%1] Copy %2 to %3 failure [%4]")
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
.arg(fileInfo.absoluteFilePath())
.arg(dirDest.absolutePath()).arg(error));
return 7;
}
#else
QFile::copy(dirDest.filePath(fileInfo.fileName()),dirBack.filePath(fileInfo.fileName()));
if(!QFile::remove(dirDest.filePath(fileInfo.fileName())))
{
ui->listLog->insertItem(0, QObject::tr("[%1] Delete %2 failure under %3")
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
.arg(fileInfo.fileName())
.arg(dirDest.absolutePath()));
return 6;
}
if(!QFile::copy(fileInfo.filePath(),dirDest.filePath(fileInfo.fileName())))
{
ui->listLog->insertItem(0, QObject::tr("[%1] Copy %2 to %3 failure ...")
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
.arg(fileInfo.absoluteFilePath())
.arg(dirDest.absolutePath()));
return 7;
}
#endif
QProcess process;
if(m_nSlavePID)
{
//! QProcess::execute("taskkill /F /T /PID " + QString::number(m_nSlavePID));
process.start("taskkill",QStringList()<<"/F /T /PID"+QString::number(m_nSlavePID),QProcess::ReadOnly);
process.waitForFinished();
Sleep(1);
m_nSlavePID = 0;
}
process.start("tasklist",QProcess::ReadOnly);
process.waitForFinished();
QTextStream Stream(&process);
while (!Stream.atEnd())
{
QString strLine = Stream.readLine();
qDebug()<<strLine;
if(strLine.contains(m_SlaveAppName,Qt::CaseInsensitive))
{
//! 如果slave没有杀掉再杀一次
//! QProcess::execute("taskkill /F /T /IM " + m_SlaveAppName);
process.start("taskkill",QStringList()<<"/F /T /IM " + m_SlaveAppName,QProcess::ReadOnly);
process.waitForFinished();
Sleep(1);
m_nSlavePID = 0;
break;
}
}
QFileInfo fileinfo = QFileInfo(m_strSlaveApplication);
QString m_SlaveAppName = fileinfo.fileName();
if(m_nSlavePID)
{
QProcess::execute("taskkill /F /T /PID " + QString::number(m_nSlavePID));
Sleep(3);
m_nSlavePID = 0;
}
QProcess process;
process.start("tasklist",QProcess::ReadOnly);
process.waitForFinished();
QTextStream Stream(&process);
while (!Stream.atEnd())
{
QString strLine = Stream.readLine();
qDebug()<<strLine;
if(strLine.contains(m_SlaveAppName,Qt::CaseInsensitive))
{
//! 如果slave没有杀掉再杀一次
QProcess::execute("taskkill /F /T /IM " + m_SlaveAppName);
Sleep(3);
m_nSlavePID = 0;
break;
}
}