Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: darksystem en 10 Mayo 2008, 20:54 pm



Título: creador de .exe desde visual basic
Publicado por: darksystem en 10 Mayo 2008, 20:54 pm
algun manual o tutorial donde

un programa en visual basic 6.0

que mi programa ya compilado , al abrilo tenga una opcion de crear ejecutable ,

con los datos q le de como caption  textbox

etc
etc
nos e si me entenderan

se visual basic de nivel intermedio

gracia sde antemano


Título: Re: creador de .exe desde visual basic
Publicado por: Freeze. en 10 Mayo 2008, 20:59 pm
No creo que se necesite un manul, esto es simple ;) De todas formas E0N o Hendrix -Siempre los confundo- habia posteado uno por ahi... :P


Título: Re: creador de .exe desde visual basic
Publicado por: HaDeS, - en 11 Mayo 2008, 06:12 am
Mira a ver si esto te puede ayudar http://foro.elhacker.net/programacion_vb/crear_ejecutables_desde_un_form_de_v_basic_6-t176915.0.html;msg841839#msg841839
Saludos


Título: Re: creador de .exe desde visual basic
Publicado por: darksystem en 11 Mayo 2008, 21:09 pm
muy buen ejemplo

el problema q al compilar

fuente.exe me sale error


podrias explikar mejor el code

gracias


Título: Re: creador de .exe desde visual basic
Publicado por: HaDeS, - en 12 Mayo 2008, 04:22 am
Código
  1. Private Sub Command1_Click()
  2. Dim P As New PropertyBag, P1 As Long, Temp 'Declaramos P como propertybag (Bolsa de propiedades)
  3. P.WriteProperty "Titulo", Text1.Text 'Escribimos en dicha bolsa una propiedad "Titulo" con el texto que contiene text1.text
  4. P.WriteProperty "Msgbox", Text2.Text 'Igualmente escribimos la propiedad "Msgbox" con el texto que contiene text2.text
  5. FileCopy App.Path & "\fuente.exe", App.Path & "\compilado.exe" 'Copiamos "Fuente.exe" previamente compilado a "compilado.exe"
  6. Open App.Path & "\compilado.exe" For Binary As #1 'Abrimos el archivo compilado en modo binario
  7. P1 = LOF(1) 'p1 es la longitud del archivo que acabamos de abrir (1) 1 es el canal, igualmente se pordía haber hecho, dim canal%: canal=freefile: p1=lof(canal)
  8. Temp = P.Contents 'Temp igual a todo el contenido de la bolsa de propiedades. msgbox + titulo
  9. Seek #1, LOF(1) 'Posicionamos el puntero de escritura al final del archivo
  10. Put #1, , Temp 'Guardamos la bolsa de propiedades
  11. Put #1, , P1 'guardamos el tamaño del archivo inicial
  12. Close #1 'cerramos el canal
  13. End Sub
  14.  

Y fuente.exe. Fuente.exe no se debe abrir porque no contiene datos guardados (Los que guardamos con compilador.exe) y por eso lanza error. Primero generamos fuente.exe, luego con compilador.exe "creamos" el ejecutable, y el ejecutable producido "compilado.exe" es el que se puede abrir.
Código
  1. Dim P As New PropertyBag, Mensaje 'Declaramos la variable para todo el form P como propertybag
  2. Private Sub Command1_Click()
  3. MsgBox Mensaje
  4. End Sub
  5.  
  6. Private Sub Form_Load()
  7. Dim P1 As Long, Temp, ByteArray() As Byte
  8. Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 'Abrimos compilado.exe generado por compilador.exe
  9. Get #1, LOF(1) - 3, P1 'obtenemos la longitud del archivo fuente.exe, antes guardada con compilador.exe
  10. Seek #1, P1 'posicionamos el puntero de lectura al final del archivo fuente.exe contenido en compilado.exe
  11. Get #1, , Temp 'y el resto lo metemos en la variable temp
  12. ByteArray = Temp 'guardamos el contenido en bytearray
  13. P.Contents = ByteArray 'y asignamos al contenido del propertybag lo que leimos
  14. Close #1 'cerramos el canal de lectura
  15. Mensaje = P.ReadProperty("Msgbox") 'la variable mensaje es igual al contenido de la propiedad msgbox
  16. Me.Caption = P.ReadProperty("Titulo") 'el título de la ventana es igual al contenido de la propiedad titulo
  17. End Sub
  18.  
Como ves es fácil. Alguna duda lanzala.
Saludos