Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Copia de si mismo en otra ubicacion

Estas en el tema de Copia de si mismo en otra ubicacion en el foro de Visual Basic clásico en Foros del Web. Hola, estoy tratando de hacer que mi programa se copie en otra ubicación(no lo hago para hacer virus ni mucho menos, es solo para un ...
  #1 (permalink)  
Antiguo 11/09/2005, 21:07
Avatar de TheJez  
Fecha de Ingreso: agosto-2004
Ubicación: México - Distrito Federal
Mensajes: 176
Antigüedad: 19 años, 8 meses
Puntos: 0
Copia de si mismo en otra ubicacion

Hola, estoy tratando de hacer que mi programa se copie en otra ubicación(no lo hago para hacer virus ni mucho menos, es solo para un instalador) mi codigo es el siguiente, espero me ayuden

Private Sub Form_Load()
FileCopy "" & App.Path & "\" & App.EXEName & ".exe", "C:\Archivos de programa\CarAudio\setup.exe"
Ejecutar ("C:\Archivos de programa\CarAudio\setup.exe")
End Sub

Public Sub Ejecutar(ubicacion As String)
On Error GoTo error
ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (ubicacion))
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub

funciona bien, solo ke tiene un problema, al ejecutar la copia hace error "error 70 permiso denegado"
__________________
"Knowledge is power..."
"Conocimiento es poder"
TheJez^
  #2 (permalink)  
Antiguo 11/09/2005, 21:38
Avatar de aldo1982  
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 5 meses
Puntos: 6
Cita:
Iniciado por TheJez
Hola, estoy tratando de hacer que mi programa se copie en otra ubicación(no lo hago para hacer virus ni mucho menos, es solo para un instalador) mi codigo es el siguiente, espero me ayuden

Private Sub Form_Load()
FileCopy "" & App.Path & "\" & App.EXEName & ".exe", "C:\Archivos de programa\CarAudio\setup.exe"
Ejecutar ("C:\Archivos de programa\CarAudio\setup.exe")
End Sub

Public Sub Ejecutar(ubicacion As String)
On Error GoTo error
ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (ubicacion))
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub

funciona bien, solo ke tiene un problema, al ejecutar la copia hace error "error 70 permiso denegado"
ese error no es porke ya está abierto el programa ?? usa el error y/o cerrá el programa ke se está ejecutando .
salu2 cuankier cosa avisame
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
  #3 (permalink)  
Antiguo 12/09/2005, 00:11
 
Fecha de Ingreso: septiembre-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 0
mira no lo probe a tu programita. pero creo que tiene un error grave, si cada ves que se ejecuta este programa se copia a si mismo y se ejecuta de nuevo no va a ver computadora que no te de error. trata de verificar que cuando ejecute la primera copia no lo siga abriendo en sucesivas llamadas.

proba con esto para chaquear si ya esta en ejecucion

Dim Ya_Existe As Integer
Ya_Existe = App.PrevInstance
If Ya_Existe <> 0 Then
MsgBox "El Programa ya se esta ejecutando", 0 + 48, "News"
End
End If

o intercepta el error como dijo Aldo

Última edición por bubilo; 12/09/2005 a las 00:18
  #4 (permalink)  
Antiguo 12/09/2005, 12:46
Avatar de TheJez  
Fecha de Ingreso: agosto-2004
Ubicación: México - Distrito Federal
Mensajes: 176
Antigüedad: 19 años, 8 meses
Puntos: 0
El error aparece aunque ejecute el archivo ya copiado desde el explorador de windows y no tenga otra instancia del mismo programa
__________________
"Knowledge is power..."
"Conocimiento es poder"
TheJez^
  #5 (permalink)  
Antiguo 12/09/2005, 12:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 0
El programa lo ejecutes de donde lo ejecutes va a hacer siempre lo mismo ya sea la copia o el original... intercepta el error para que se ejecute despues de copiado una sola vez
__________________
Buby Systems
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:30.