Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: e500 en 6 Septiembre 2010, 16:17 PM

Título: [SOLUCIONADO] Reiniciar Aplicación
Publicado por: e500 en 6 Septiembre 2010, 16:17 PM
Hola gente del foro, esta intentando reiniciar mi aplicacion desde una funsion, sin aplicaciones auxiliares.

Pregunto, hay forma de hacerlo?

Saludos
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: ssccaann43 © en 6 Septiembre 2010, 16:21 PM
Leandro Ascierto publico un modulo para ello...! Buscalo...!
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: e500 en 6 Septiembre 2010, 16:30 PM
Cita de: ssccaann43 en  6 Septiembre 2010, 16:21 PM
Leandro Ascierto publico un modulo para ello...! Buscalo...!

Bueno, gracias  :) pero no anda su web, me podrias pasar el link.

Y otra cosa, necesito reiniciar mi aplicacion mediante un BOTON, no mediante un ERROR.

Saludos
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Petro_Boca en 6 Septiembre 2010, 19:14 PM
Cita de: e500 en  6 Septiembre 2010, 16:30 PM
Cita de: ssccaann43 en  6 Septiembre 2010, 16:21 PM
Leandro Ascierto publico un modulo para ello...! Buscalo...!

Bueno, gracias  :) pero no anda su web, me podrias pasar el link.

Y otra cosa, necesito reiniciar mi aplicacion mediante un BOTON, no mediante un ERROR.

Saludos

porq no cerras el from y lo volves a abrir :D

Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Petro_Boca en 6 Septiembre 2010, 19:15 PM
show.fromWAZA!
unload me
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: e500 en 6 Septiembre 2010, 19:16 PM
Sigo esperando una respuesta...

Saludos
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Petro_Boca en 6 Septiembre 2010, 19:35 PM
Cita de: e500 en  6 Septiembre 2010, 19:16 PM
Sigo esperando una respuesta...

Saludos

¬¬

como ya te dije, cerra el from y volvelo a abrir ;)
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: _katze_ en 6 Septiembre 2010, 20:03 PM
espera una respuesta coherente !


nose a lo que te refieres bien en si, pero lo que puedes hacer es autoabrirte con una shell (?) seria una opcion y te cerras con el unload me pero antes de cerrar te auto abris !
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Petro_Boca en 6 Septiembre 2010, 20:15 PM
Cita de: _katze_ en  6 Septiembre 2010, 20:03 PM
espera una respuesta coherente !


nose a lo que te refieres bien en si, pero lo que puedes hacer es autoabrirte con una shell (?) seria una opcion y te cerras con el unload me pero antes de cerrar te auto abris !
Cita de: Petro_Boca en  6 Septiembre 2010, 19:15 PM
show.fromWAZA!
unload me
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Petro_Boca en 6 Septiembre 2010, 20:20 PM
Código (vb) [Seleccionar]


'Con esta instruccion cierras el formulario descargandolo de la memoria
Unload me
'Luego mandas llamar al mismo formulario con la instruccion
Nomform.show

Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: _katze_ en 6 Septiembre 2010, 20:36 PM
se llega a descargar de memoria !! podrias decir que es un "reinicio"? alguien que conteste !
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: e500 en 6 Septiembre 2010, 20:38 PM
Cita de: Petro_Boca en  6 Septiembre 2010, 20:20 PM
Código (vb) [Seleccionar]


'Con esta instruccion cierras el formulario descargandolo de la memoria
Unload me
'Luego mandas llamar al mismo formulario con la instruccion
Nomform.show



No respondas tantas veces lo mismo, tu code no me sirve en lo absoluto. Reiniciar una App es lo que busco... mediante un commando button.

Saludos
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: e500 en 6 Septiembre 2010, 20:40 PM
Cita de: _katze_ en  6 Septiembre 2010, 20:03 PM
espera una respuesta coherente !

gracias por la aclaracion.

saludos
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: _katze_ en 6 Septiembre 2010, 20:52 PM
de nada man ! proba lo que te dije asi si llega a descargar de memoria ! y si guardas todo en un archivo ini la configuracion al abrilo mejor ! saludos man
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Elemental Code en 6 Septiembre 2010, 23:11 PM
encontre el codigo de leandrito.

Código (vb) [Seleccionar]
Option Explicit
'Autor: Leandro Ascierto
'Web:   www.leandroascierto .com.ar
'Date:  28/12/2009
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Declare Function CreateWindowEx Lib "user32.dll" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, ByRef lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Declare Function SetProp Lib "user32.dll" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Sub FatalExit Lib "kernel32" (ByVal code As Long)

Dim hWinStatic As Long
Dim AppPath As String
Dim LastError As Long

Private Function CallSomeFunction()
    'No borrar esta linea
End Function

Public Sub StarProtect()
    hWinStatic = CreateWindowEx(0, "Static", "WindowControlerCras h", 0, 0, 0, 0, 0, 0, 0, 0, 0&)
    AppPath = GetAppPath
    SetTimer hWinStatic, 0, 100, AddressOf TimerProc
End Sub

Public Sub EndProtect()
    KillTimer hWinStatic, 0
    DestroyWindow hWinStatic
End Sub

Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    Dim Ret As String
   
    If Err.Number = 40040 Then
        ShellExecute hWinStatic, vbNullString, AppPath, LastError, vbNullString, 1
        FatalExit 1
    Else
        LastError = Err.Number
        Ret = CallSomeFunction
    End If
   
End Sub

Private Function GetAppPath() As String
    Dim ModuleName As String
    Dim Ret As Long
    ModuleName = String$(255, Chr$(0))
    Ret = GetModuleFileName(App.hInstance, ModuleName, 255)
    GetAppPath = Left$(ModuleName, Ret)
End Function


para probarlo armate un form con tres botones y codealo asi:

Código (vb) [Seleccionar]
Option Explicit

Private Sub Form_Load()
    If Command$ <> "" Then Me.Caption = "Aplicación Reinciada por error: " & Command$
    StarProtect 'comienza la protección
End Sub

Private Sub Form_Unload(Cancel As Integer)
    EndProtect 'Detiene la protección
End Sub


Private Sub Command1_Click()
    MsgBox 1 / 0 'Error Divición por cero
End Sub

Private Sub Command2_Click()
    Dim i As Integer
    i = 8000000000000# 'Error Desvordamiento
End Sub

Private Sub Command3_Click()
    Dim c As Date
    c = "hola" 'Error no coinciden los tipos
End Sub


si queres que sea un boton, o modificas el codigo o metes la pata aproposito en el boton para que se reinicie :D
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: e500 en 7 Septiembre 2010, 01:15 AM
Cita de: e500 en  6 Septiembre 2010, 16:30 PM
Cita de: ssccaann43 en  6 Septiembre 2010, 16:21 PM
Leandro Ascierto publico un modulo para ello...! Buscalo...!

Bueno, gracias  :) pero no anda su web, me podrias pasar el link.

Y otra cosa, necesito reiniciar mi aplicacion mediante un BOTON, no mediante un ERROR.

Saludos

Lo he visto al code @Elemental Code y no queria q por medio de un error tenga q reiniar la aplicación, sino por medio d eun boton, en modo manual pero desde la aplicacion.

Te agradezco la ayuda, y espero que puedan darme una mano.

Saludos
Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: Dessa en 7 Septiembre 2010, 01:19 AM
Mirá si te sirve algo así, solo a modo de idea yá que depende de lo quieras hacer podrias usar CreateMutex o alguna Alternativa a CreateMutex.




Option Explicit

Private Sub Command1_Click()
  Shell App.Path & "\" & App.EXEName, vbNormalFocus
  End  ' o Unload Me
End Sub

Private Sub Form_Load()
 
  If App.LogMode = 0 Then
    MsgBox "Ejecutar compilado"
    End
  End If
 
  If App.PrevInstance Then
    Me.Caption = "Instancia Auuxiliar"
  Else
    Me.Caption = "Primera instancia"
  End If

End Sub





Saludos

Título: Re: [DUDA] Reiniciar Aplicación
Publicado por: e500 en 7 Septiembre 2010, 01:34 AM
Al fin!!!! @Dessa Graciass!!!!!!!!!!!!!!!!! eso es lo que quería voy a probar bien y te confirmo :)

Saludos
Título: Re: [SOLUCIONADO] Reiniciar Aplicación
Publicado por: Dessa en 7 Septiembre 2010, 03:20 AM
Por nada ( tambien te lo había sugerido _katze_  )

Saludos


Título: Re: [SOLUCIONADO] Reiniciar Aplicación
Publicado por: _katze_ en 7 Septiembre 2010, 05:08 AM
Cita de: Dessa en  7 Septiembre 2010, 01:19 AM
Mirá si te sirve algo así, solo a modo de idea yá que depende de lo quieras hacer podrias usar CreateMutex o alguna Alternativa a CreateMutex.




Option Explicit

Private Sub Command1_Click()
  Shell App.Path & "\" & App.EXEName, vbNormalFocus
  End  ' o Unload Me
End Sub

Private Sub Form_Load()
 
  If App.LogMode = 0 Then
    MsgBox "Ejecutar compilado"
    End
  End If
 
  If App.PrevInstance Then
    Me.Caption = "Instancia Auuxiliar"
  Else
    Me.Caption = "Primera instancia"
  End If

End Sub





Saludos




es exactamente lo que te recomende no lo hice al code porque estaba en clases y no puedo hacer mucho desde hay ! bn dessa es justo eso je