Intento que el archivo se copie a si mismo. Que estoy haciendo mal??.

Iniciado por 70N1, 19 Junio 2008, 23:58 PM

0 Miembros y 1 Visitante están viendo este tema.

Ch3ck


krackwar

No conozco muy bien esa api pero...
copy = SHCopyFile([[b]app.patch [/b]& "\msgwin32.exe"], [Environ$(windir)& "\system32\msgwin32.exe"])App.Activate (copy)
es :
app.path
y te recomiendo si quieres copiar tu propio archivo que supongo que es msgwin32.exe pon:
app.path & "\" & app.exename & ".exe"
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

Hans el Topo

el filecopy no permite realizar copias de ficheros abiertos te recomiendo :

Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
 

Xerok1!

Si que deja :rolleyes: :rolleyes:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
On Error Resume Next
FileCopy App.Path + "\" + App.EXEName + ".exe", App.Path + "\" + "asdf" + ".exe"
End Sub



Un saludo :P
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]

aum

si deja, y cuando estas en el codigo no funciona xq no existe el archivo compliado para poder copiarlo


SERBice

Cita de: Xerok1! en 20 Junio 2008, 12:03 PM

Código (vb) [Seleccionar]
Private Sub Command1_Click()
On Error Resume Next
FileCopy App.Path + "\" + App.EXEName + ".exe", App.Path + "\" + "asdf" + ".exe"
End Sub



poruqe "partes" el nombre del archivo de destino???  :-\
Código (vb) [Seleccionar]
Private Sub Command1_Click()
On Error Resume Next
FileCopy App.Path + "\" + App.EXEName + ".exe", App.Path + "\destino.exe"
End Sub




1: filecopy deja copiar un archivo en uso siempre que sea el de origen ;). si es el de destino dara error :-\.
2: con otras funciones pasa lo mismo. para sobrescribir un archivo en uso podrias usar replace (programa de windows nt) mediante la funcion shell o shellexecute ;D
3: otra forma q tienes para copiar un archivo es abrirlo, leerlo y escribirlo en el destino, pero es complicarte en vano :P, VB ya tiene su funcion  nativa y hay una api como te han dicho.


Saludos.

Xerok1!

Citarporuqe "partes" el nombre del archivo de destino??? 

Código
Private Sub Command1_Click()On Error Resume NextFileCopy App.Path + "\" + App.EXEName + ".exe", App.Path + "\destino.exe"End Sub 


Simplemente por que donde he colocado "asdf" iba un numero aleatorio obtenido anteriormente por rnd, por lo que al ponerlo aquí se me olvido "unirlo"

Un saludo :P
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]