遇到一个问题,使用了MySql 数据库,开机时,有部分电脑不会自动启动 MySql 服务,只能去手动启动。现在通过代码的形式,主动去启动服务。
//启动数据库服务
void startMySqlServer()
{
QString mySqlName = "mysql";
QStringList arguments;
arguments << "start" << mySqlName;
QProcess process;
process.start("sc", arguments);
process.waitForStarted(); //等待程序启动
process.waitForFinished();//等待程序关闭
QDateTime dieTime = QDateTime::currentDateTime().addMSecs(3000);//服务开启后,等待3秒后再使用
while( QDateTime::currentDateTime() < dieTime )
QCoreApplication::processEvents(QEventLoop::AllEvents, 10);
}
备注:这是在window系统下的,其他类似的服务,都可以使用这样的方式进行打开和关闭