PDA

Ver la Versión Completa : Evitar Instancias Multiples De Mi Aplicacion


edgusano
22-04-2005, 23:28:17
Holas a todos!!!
Bueno en cuanto a lo de evitar las instancias hasta ahora lo he conseguido, esto con el metodo getprocessesbyname y con este puedo impedir que mi aparezcan dos instancias de mi aplicacion, pero lo que quisiera es como puedo yo abrir la instancia que previamente se creo de la aplicacion???.

roman
22-04-2005, 23:32:19
Muy sencillo :)

Con mi unidad UIApp.pas (http://www.clubdelphi.com/users/roman)

// Saludos

edgusano
23-04-2005, 18:41:50
upps!
Gracias roman, ya habia utilizado tu unit, solo que por el afan y no se que cosa se me paso que no era para win32, claro ademas se me paso, porque lo puse en el foro de .NET :D. Pero bueno esto lo quiero hacer es desde C# en D2005 y disculpa por la desinformacion.

edgusano
28-04-2005, 01:09:57
Roman no tienes una similar, pero en c#

roman
28-04-2005, 03:44:20
Je, je ,pues no. En C# me tendrás que ayudar tú porque yo ni idea. :o

// Saludos

__hector
28-04-2005, 14:43:15
using System;
using System.Diagnostics;
using System.ComponentModel;
namespace InstConLib
{
/* InstanceControlLib Class controls the instance */
public class InstanceControl: Component
{
private string stProcName=null;
/*constructor which holds the application name*/
public InstanceControl(string ProcName)
{
stProcName=ProcName;
}
public bool IsAnyInstanceExist()
{
/*process class GetProcessesByName() checks for particular
process is currently running and returns array of processes
with that name*/
Process[] processes = Process.GetProcessesByName(stProcName);
if(processes.Length != 1)
return false; /*false no instance exist*/
else
return true; /*true mean instance exist*/
}
} /*end of class*/
}

roman
28-04-2005, 16:17:20
Creo que esto ya lo tenía más o menos resuelto edgusano- detectar con GetProcessesByName la instancia anterior. Lo que le falta es cómo actuvar dicha instancia anterior.

// Saludos

edgusano
28-04-2005, 16:22:17
Gracias Hector.
Pero si detecto que la aplicacion(instancia) ya esta corriendo, como hago para que esta se abra al intentar abrir otra instancia. Sera que podrias ayudarme ilustrandome con un ejemplo de la utilizacion de ese namespace.
Gracias!!!

Mientras trataba de escribir esas pocas palabras, me demore bastante tiempo por cierto, roman escribo realmente lo que me hace falta:D

__hector
28-04-2005, 19:21:02
ah caray, que respondi sin leer el primer mensaje :)