Bueno para lo que queria, ya lo he resuelto de forma un poco dudosa pero bueno, aqui va el codigo para que vean, he sustituido la primera funcion por esta
Código C++:
Ver originalvoid ExternAPP::ExecuteInventoryEXE(){
if(this->ExistInventoryEXE()){
ShellExecute(NULL,"open",this->path.c_str(),this->parameters.c_str(),"",SW_SHOWNORMAL);
}
}
Y en la forma lo que queria era, que al mismo tiempo que se ejecutaba lo que tengo en
this->path.c_str() que fuera pasando un ProgessBar para saber cuando empesó y cuando terminó, pero me he cansado de tanto control y miren lo que he hecho en el OnClick de la forma.
Código C++:
Ver originalvoid __fastcall TForm1::Button1Click(TObject *Sender)
{
ProgressBar1->Position = 0;
Image1->Visible = false;
Image2->Visible = false;
Image3->Visible = false;
Image4->Visible = false;
Timer1->Enabled = true;
}
Y en el Timer lo he hecho todo
Código C++:
Ver originalvoid __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(ProgressBar1->Position != 20) Button2->Enabled = false;
if(ProgressBar1->Position == 2){
Image1->Visible = true;
hPtr->ExecuteGpupdateEXE();
}
if(ProgressBar1->Position == 8){
Image2->Visible = true;
hPtr->ExecuteWuaucltEXE();
}
if(ProgressBar1->Position == 16){
if(hPtr->ExistInventoryEXE()){
hPtr->ExecuteInventoryEXE();
Image3->Visible = true;
}else if(hPtr->ExistInventoryINSTALL()){
hPtr->ExecuteInventoryINSTALL();
Image4->Visible = true;
}
ProgressBar1->Position = 20;
Button2->Enabled = true;
}
ProgressBar1->StepBy(2);
}