我制作了一个程序,可在设定的时间后关闭PC。 用户使用2个旋转框(一个用于小时,另一个用于分钟), 然后我将其转换为毫秒进入时间:Qt关机()不适用于已部署的应用程序
ms = (ui->hBox->text().toInt() * 3600 + ui->mBox->text().toInt() * 60) * 1000;
然后它调用计时器()函数
void Dialog::timer()
{
QTimer *time = new QTimer(this);
time->setInterval(ms);
time->setSingleShot(1);
connect(time, SIGNAL(timeout()), this, SLOT(shutdown()));
time->start();
}
然后信号timeout()调用shutdown()插槽/函数,用于检查用户是否要关闭,重新启动或注销PC,然后执行相应的命令。
void Dialog::shutdown()
{
if(ui->radioButton->isChecked())
system("shutdown -s -t 0");
else if(ui->radioButton_2->isChecked())
system("shutdown -r -t 0");
else if(ui->radioButton_3->isChecked())
system("shutdown -l -t 0");
}
(也试过“关机-s -f”,甚至只有“关机-s”,似乎没有任何帮助解决问题)
我想只有我的Windows PC上运行该应用程序,所以使用system()也不是问题。
当我从Qt Creator运行它时,上面的应用程序执行完美,但是当我部署它时,放置所有需要的.dll文件,程序等待计时器,然后打开空控制台,然后启动程序的新实例, PC从不关闭或重新启动。 那么我在做什么错了?我是否缺少一些.dll文件或其他内容?
你有没有使用依赖学步车检查任何缺少DLL? – 2013-05-07 11:29:25
是的,我做了,它报告我拥有了一切。我需要把qudows.dll的icudt49,icuin49,icuuc49,libEGL,libgcc_s_sjlj-1,libGLESv2,libstdC++ - 6,libwinpthread,Qt5Core,Qt5Gui,Qt5Widgets和platforms文件夹 – Svajs 2013-05-07 11:32:17