PDA

View Full Version : How to use QProcess in WinCE?



lwinhtooko
2nd September 2010, 10:09
Hi All,

I tried to execute another program from my program using QProcess in WinCE. But I got the Unknown Error.
Please kindly show me the way how to use it.

Code:
****************************************

void MyWidget::runProcess()
{
proc = new QProcess();
proc->start("\Program Files\AnotherProg\anotherProg.exe",QIODevice::NotOpen);
// proc->start("//Program Files//AnotherProg//anotherProg.exe",QIODevice::NotOpen);
// If I add QIODevice::ReadWrite, there is no response (no error also).
QObject::connect(proc,SIGNAL(finished(int,QProcess ::ExitStatus)),this,SLOT(finishedProcess(int,QProc ess::ExitStatus))); QObject::connect(proc,SIGNAL(error(QProcess::Proce ssError)),this,SLOT(errorProcess(QProcess::Process Error)));
}

void MyWidget::closeProcess()
{
if(proc->isOpen())
proc->close();
}

void MyWidget::finishedProcess(int i , QProcess::ExitStatus status)
{
if(status == QProcess::CrashExit)
{
QMessageBox::information(this,"Warning","Problem occurred during process");
}
}
void MyWidget::errorProcess(QProcess::ProcessError errorStatus)
{
switch (errorStatus)
{
case QProcess::FailedToStart:
{
QMessageBox::information(this,"Error","FailedToStart" + proc->errorString());
}break;
case QProcess::Crashed:
{
QMessageBox::information(this,"Error","Crashed" + proc->errorString());
}break;
case QProcess::Timedout:
{
QMessageBox::information(this,"Error","Timedout" + proc->errorString());
}break;
case QProcess::ReadError:
{
QMessageBox::information(this,"Error","ReadError" + proc->errorString());
}break;
case QProcess::WriteError:
{
QMessageBox::information(this,"Error","WriteError" + proc->errorString());
}break;
case QProcess::UnknownError:
{
QMessageBox::information(this,"Error","UnknownError" + proc->errorString());
}break;
}
}

****************************************
And please teach me good way to use QProcess.
Thanks for your time,
Lwin