Manipular el acto de abrir varias veces un programaControlar cuando se abre 2 o más veces el mismo programa
Fecha: 29/Jul/2005 (25/07/05)
|
¿Nunca te fijaste que determinados programas (MS-Word, FrontPage, MSN Messenger, RSSReader, entre otros) cuando los abres por segunda vez, te aparece la ventana del programa o te aparece un cartel diciendo que el programa está siendo ejecutado?
Bueno..., este artículo te enseña a, que cuando abrís el programa, darte cuenta si ya hay una instancia del programa abierta.
En Visual Basic 6.0 se hacia mediante la Propiedad booleana "PrevInstance" del objeto App.Con el siguiente código creamos una función que se fija si hay mas de una instancia de nuestro programa:
Function PrevInstance() As Boolean If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then Return True Else Return False End If End FunctionPara ejecutar esta función, la llamamos desde el evento Load del Formulario (Suponiendo que el formulario se llama Form1):
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load If PrevInstance() = True Then 'MsgBox("El programa ya está siendo ejecutado", MsgBoxStyle.Information) 'End ' O también, puedes poner que el programa gane el foco cuando se abre por segunda vez End If End Sub
Bibliografía
Ayuda de Microsoft Visual Studio 2003 Enterprise Architect.
Espacios de nombres usados en el código de este artículo:
Fichero con el código de ejemplo: bryant1410_MAAVVPNET.zip - Tamaño 7 KB