Error 53:File not found

Iniciado por Joiner, 1 Septiembre 2007, 17:42 PM

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

Joiner

He estado probando de hacer un programa que copiara los datos de un ejecutable y creara otro archivo tambien ejecutable con los datos, el problema es el siguiente,copia los ejecutables , pero el ejecutable resultante no se ejecuta, lo he mirado con un editor hexadecimal y son identicos los dos, que es lo que no he tenido en cuenta y hace que falle?
El codigo
dim s as string
dim i as integer
i= freefile
open "E:\project1.exe" for binary as #i
s=input(LOF(1),1)
close #i
i=freefile
open "c:\prueba.exe" for binary as #i
put #i,1,s
close #i

Alguien sabe donde esta el fallo? Si alguien sabe otra forma de hacerlo le agradeceria que me lo explicara

Muchas gracias

APOKLIPTICO

Primero, para copiar un archivo existe FileCopy().
Segundo, hay un programa que se llama FC (está bajo cmd), que compara dos archios.
Para archivos binary, te conviene usar get en vez de input.
Saludos!
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

Joiner

Lo que queria era hacerlo directamente con las instruciones basicas sin usar APIS, ni otros programas como seria el FC, ya mirare si es debido al FC

HaDeS, -

Lo que pasa, es que en la primera parte cuando abres el archivo y lees su contenido, estas usando un canal diferente al que usaste, mira el codigo corregido:
Código (vb) [Seleccionar]

Dim s As String
Dim i As Integer
i = FreeFile
Open "c:\project1.exe" For Binary As #i
s = Input(LOF(i), #i)
Close #i
i = FreeFile
Open "c:\prueba.exe" For Binary As #i
Put #i, 1, s
Close #i


Si lo que queres es ejecutar ese programa sin usar ninguna api, agrega una linea al final con esto:
Código (vb) [Seleccionar]

shell "c:\prueba.exe"


Espero que te haya servido de algo, saludos ;)