Ver Mensaje Individual
  #7  
Antiguo 11-11-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Te muestro como resolví ese problema en C (Builder):

Código:
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
   char AppName[] = "MI_Aplicacion";
   Application->Title = "XXMI_AplicacionXX";
   HWND W = ::FindWindow("TApplication", AppName);
   HWND H = ::FindWindow("TApplication", Application->Title.c_str());
   Application->Title = AppName;
   if(W){
      ShowWindow(W, SW_RESTORE);
      SetForegroundWindow(W);
      Application->Terminate();
      return 0;
   }

   try
   {
       Application->Initialize();
       Application->CreateForm(__classid(TForm1), &Form1);
       Application->Run();
   }
   catch (Exception &exception)
   {
       Application->ShowException(&exception);
   }
   return 0;
}
//---------------------------------------------------------------------------
Si se intenta volver a ejecutar lo que hace es mostrar la ventana de la aplicación que ya estaba abierta cerrando la nueva que se está creando. Nunca me dio problemas para maximizar desde la barra de tareas.

Saludos.
Responder Con Cita