Qt Problem mit kbhit()
Verfasst: 27. Juni 2013 09:16
Hallo Community,
ich versuche gerade eine Konsolenanwendung in Qt zu schreiben. Der Timer/Countdown soll von einer voreingestellten Zeit Herunterzählen und falls bei 0:00 angekommen ein Programm starten. Falls das nicht gewünscht ist will ich den Timer mit einem Tastendruck abbrechen und das Programm beenden. Mein bisheriger Code scheint auch all das zu machen, jedoch nur auf meinem eigentlichen Rechner. Das Programm sollte jedoch in einer WinPE Umgebung laufen und dort ist es so, dass es das Programm gar nicht stört wenn eine Taste gedrückt wird und einfach weiterläuft.
Ich denke das es ein Problem mit der kbhit() Funktion ist, da diese keine Standartfunktion ist.
Hat jemand eine Lösung für mein Problem, gibt es in Qt Funktionen die das gleiche wie kbhit() bewirken?
hier mein Code:
ich versuche gerade eine Konsolenanwendung in Qt zu schreiben. Der Timer/Countdown soll von einer voreingestellten Zeit Herunterzählen und falls bei 0:00 angekommen ein Programm starten. Falls das nicht gewünscht ist will ich den Timer mit einem Tastendruck abbrechen und das Programm beenden. Mein bisheriger Code scheint auch all das zu machen, jedoch nur auf meinem eigentlichen Rechner. Das Programm sollte jedoch in einer WinPE Umgebung laufen und dort ist es so, dass es das Programm gar nicht stört wenn eine Taste gedrückt wird und einfach weiterläuft.
Ich denke das es ein Problem mit der kbhit() Funktion ist, da diese keine Standartfunktion ist.
Hat jemand eine Lösung für mein Problem, gibt es in Qt Funktionen die das gleiche wie kbhit() bewirken?
hier mein Code:
Code: Alles auswählen
#include <QCoreApplication>
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <QProcess>
int main(void)
{
QCoreApplication a(argc, argv);
int m_zahl;
int m_zahl_m=0;
int m_zahl_s=0;
printf("\n");
for(m_zahl =10; m_zahl >=0; m_zahl--)
{
Sleep (1000);
m_zahl_m = m_zahl / 60;
if (m_zahl>0)
m_zahl_s = m_zahl%60;
printf("Programmstart in %02d:%02d \r",(m_zahl_m),m_zahl_s);
if (_kbhit())
//return a.exec();
return 0;
}
QProcess p;
p.start("cmd.exe", QStringList() << "/c" << "C:\Beispiel.bat");
return a.exec();
}