La aplicación se ejecuta N veces

17/07/2006 - 14:21 por Marco Elgueta | Informe spam
Hola a todos!
tengo mi aplicacion creada en VB.net 2003, pero esta se me ejecuta las N
veces que yo haga click en el acceso directo de mi aplicacion. Como controlo
para que solo habra el programa cuando este no este abierto.
Gracias de ante mano.

Preguntas similare

Leer las respuestas

#1 Angel. E. Ruiz. P
17/07/2006 - 14:44 | Informe spam
#Region " Para saber si una aplicación está en memoria "
'
<System.Runtime.InteropServices.DllImport("user32.dll", _
EntryPoint:="SetForegroundWindow")> _
Public Function SetForegroundWindow( _
ByVal hWnd As IntPtr) As Boolean
End Function
'
'
<System.Runtime.InteropServices.DllImport("user32.dll", _
EntryPoint:="FindWindow")> _
Public Function FindWindow( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function
'
Public ceroIntPtr As New IntPtr(0)
'
'
#End Region
Para usarla, declarar este módulo Sub Main dentro del código de la clase del
formulario, habrá que indicar tanto el texto de la barra de título como el
nombre de la clase (el nombre del formulario).




Public Shared Sub Main()
Dim nWnd As IntPtr
nWnd = FindWindow(Nothing, "Form1")
If nWnd.Equals(ceroIntPtr) Then
Application.Run(New Form1())
Else
SetForegroundWindow(nWnd)
Application.Exit()
End If
End Sub
Saludos cordiales,Ángel RuizMCP C#MVP de Visual Basic desde 2004Caracas -
Venezuela"El conocimiento es un bien, que crece a medida que se comparte""Marco
Elgueta" escribió en el mensaje
news:
Hola a todos!
tengo mi aplicacion creada en VB.net 2003, pero esta se me ejecuta las N
veces que yo haga click en el acceso directo de mi aplicacion. Como
controlo
para que solo habra el programa cuando este no este abierto.
Gracias de ante mano.
Respuesta Responder a este mensaje
#2 Cid
17/07/2006 - 16:59 | Informe spam
he visto algunas formas de burlar estas rutinas como copiar el ejecutable
con otro nombre, tambien vale para esta?

"Angel. E. Ruiz. P" escribió en el mensaje
news:
#Region " Para saber si una aplicación está en memoria "
'
<System.Runtime.InteropServices.DllImport("user32.dll", _
EntryPoint:="SetForegroundWindow")> _
Public Function SetForegroundWindow( _
ByVal hWnd As IntPtr) As Boolean
End Function
'
'
<System.Runtime.InteropServices.DllImport("user32.dll", _
EntryPoint:="FindWindow")> _
Public Function FindWindow( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As IntPtr
End Function
'
Public ceroIntPtr As New IntPtr(0)
'
'
#End Region
Para usarla, declarar este módulo Sub Main dentro del código de la clase
del formulario, habrá que indicar tanto el texto de la barra de título
como el nombre de la clase (el nombre del formulario).




Public Shared Sub Main()
Dim nWnd As IntPtr
nWnd = FindWindow(Nothing, "Form1")
If nWnd.Equals(ceroIntPtr) Then
Application.Run(New Form1())
Else
SetForegroundWindow(nWnd)
Application.Exit()
End If
End Sub
Saludos cordiales,Ángel RuizMCP C#MVP de Visual Basic desde 2004Caracas -
Venezuela"El conocimiento es un bien, que crece a medida que se
comparte""Marco Elgueta" escribió
en el mensaje news:
Hola a todos!
tengo mi aplicacion creada en VB.net 2003, pero esta se me ejecuta las N
veces que yo haga click en el acceso directo de mi aplicacion. Como
controlo
para que solo habra el programa cuando este no este abierto.
Gracias de ante mano.




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida