elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [MANUAL]Implementar Recursos en los Programas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [MANUAL]Implementar Recursos en los Programas  (Leído 3,718 veces)
M.Black

Desconectado Desconectado

Mensajes: 3


Ver Perfil
[MANUAL]Implementar Recursos en los Programas
« en: 21 Marzo 2009, 20:16 pm »

Bueno, primero que nada voy a dar una explicación sobre a lo que va este pequeño manual.

Explicación : Básicamente lo que intentaremos lograr con este manual es adjuntar archivos con cualquier tipo de extensión (.mp3, .mpq, .exe, .gif, .rar, etc) dentro de nuestro programa. Un ejemplo de la situación para utilizarlo sería el crear un Software que permita instalar algunos programas, los cuales podrían estar en la carpeta de nuestro Software, o utilizar este método para incluirlo dentro y nada de carpetas o archivos sueltos. La idea del manual es que lo pueda utilizar hasta la persona que no tiene conocimientos en Visual Basic, creo que incentiva más.

Se necesita: -Visual Basic 6.0 -Visual C++ (Preferentemente 6.0, yo utilizo ese) Bueno,  primero que nada hagamos un code, el cual utilizaremos de ejemplo para nuestro Software, se utilizarán herramientas muy sencillas para el ejemplo. Bloc de Notas y Calculadora de Windows suponiendo que serían archivos que no los tendrían todos los ordenadores de Windows, tan solo son de ejemplo. En un formulario nuevo llamado Form1, tan solo agregaremos:

-2 OptionButton (optBloc y optCalc)
-1 CommandButton

Guardaremos el proyecto para utilizarlo mas adelante. Por ahora lo dejaremos sin código hasta tener nuestro recurso. Bien, ahora abrimos el bloc de notas (Inicio/Ejecutar/Notepad.exe) y así como nos abre en blanco lo Guardamos Como(Archivo/Guardar Como...) "Programas.res", importantísimo que sea con la extensión .res, sin eso no funcionará.
Luego, con previamente Visual C++ 6.0 instalado le hacemos doble click al "Programas.res" así como ejecutamos diariamente cualquier archivo. Se nos abrirá el Visual C++ 6.0 con nuestro archivo ahí dentro. Le damos click derecho en algún espacio en blanco y tocamos "Import...".
Tendrémos que seleccionar nuestro archivo a continuación.
IMPORTANTE: La ventana que se ejecuta tiene 3 propiedades:

Nombre:
Tipo: Icons(.ico)
Open: Auto

Y en "Tipo" viene marcado por defecto "Icons(.ico)" Deberemos cambiar esa opción por la de todos los archivos para no tener problemas de extensión al buscar nuestro archivo, que la propiedad quede así:

Nombre:
Tipo: Todos los Archivos(*.*)
Open: Auto

Una vez realizado ese cambio, buscaremos el archivo que queremos ejecutar a nuestro proyecto en Visual Basic y clickearemos "Import", en este ejemplo utilizaré el "notepad.exe" que se encuentra en "C:\WINDOWS". Veremos que sale una ventana de esta forma:

 


 En la propiedad "Resource Type" escribiremos una breve descripción de nuestro archivo sin espacios preferiblemente y clickearemos 'OK'. Por ejemplo yo pondré: Resource Type: Bloc Y saldrá una ventana con muchos caracteres ASCII, los cuales no se podrán interpretar a simple vista, por lo tanto cerraremos la ventana de los caracteres ASCII. Nos quedará algo así a continuación :



Ya tenemos agregado el Bloc de Notas a nuestro recurso, pero como en el ejemplo utilizaré 2 recursos, falta la calculadora. Volveré a repetir la parte de: -Click Derecho/Import... -Buscaré Calc.exe que se encuentra en "C:\WINDOWS\system32" en este caso -Pondré como descripción "Calc" Y luego de hacer eso me quedará algo así:



IMPORTANTE: Recordar el numero que le fue asignado a cada aplicación agregada a nuestro res, en mi caso Bloc(101) y Calc(102). Y obviamente guardar los cambios en el "Programas.res".

La parte de utilizar el Visual C++ 6.0 ya está completa, ahora tan solo queda programar en Visual Basic. Abriremos el proyecto que guardamos anteriormente y agregaremos nuestro "Programas.res", en la ventana de proyect, ubicado a la derecha de nuestro proyecto, donde se visualizan los Form que tenemos(en nuestro caso 1) haremos "Click Derecho/Add/Add File..."


 Y buscaremos a continuación el "Programas.res", una vez hecho eso veremos a la derecha una carpeta(debajo del form) llamada "Related Documents" y con "Programas.res" en su interior. Bien, ahora agregaremos en el formulario (cualquier parte en blanco, no en el botón ni en el Form Load) el siguiente código:

Código:
Public Sub ARes(NumRES As Integer, RutaCopy As String)
Dim File() As Byte
If Dir(RutaCopy) = "" Then
File = LoadResData(NumRES, "DESCRIPCION")
Open RutaCopy For Binary Access Write As #1
Put #1, , File
Close #1
End If
End Sub

NOTA: en la línea:

Código:
File = LoadResData(NumRES, "DESCRIPCION")


Cambiaremos "DESCRIPCION" por la breve descripción que dimos anteriormente en la propiedad "Resource Type", en el Visual C++. También, en mi caso que tengo 2 programas dentro del recurso, agregaremos nuevamente ese código pero cambiando el nombre del Sub, me refiero a esto:

Código:
Public Sub ARes

 Como no permitirá tener 2 "Public Sub ARes", cambiaremos por "BRes" y si tenemos otro por "CRes" y así sucesivamente para tenerlos de forma ordenada. Cambiaremos la parte que acabo de explicar y también la descripción de la línea:

Código:
File = LoadResData(NumRES, "DESCRIPCION")


Luego de hacer eso, haremos doble click en nuestro Botón del Formulario(Command1) y pondremos el siguiente código:

Código:
Private Sub Command1_Click() 
If optBloc.Value = True Then
 ARes 101, App.Path & "\NOTEPAD.exe"
Shell ("NOTEPAD.exe")
ElseIf optCalc.Value = True Then
BRes 102, App.Path & "\Calc.exe"
Shell ("Calc.exe")
End If End
Sub

 El código es largo e inentendible para alguien que recién comienza con Visual Basic 6, así que pasaré a explicar cada línea de código:

Código:
If optBloc.Value = True Then


Verifico si clickearon en el OptionButton para Ejecutar el Bloc de Notas(optBloc) y si lo clickearon pasa a la siguiente línea:

Código:
ARes 101, App.Path & "\NOTEPAD.exe"


Esta linea se modifica según la aplicación que tengamos, en mi caso yo puse ARes por que anteriormente en "Public Sub" está declarado así el "Bloc" y 101 que es el número que les dije que recuerden en Visual C++. También debemos modificar "\NOTEPAD.exe" por "\NOMBREDELEXE.exe". Esta línea hará que se extraiga el "\NOTEPAD.exe" de nuestro recurso, a la carpeta donde estamos utilizando nuestro programa. La siguiente línea ejecutará nuestro archivo extraído anteriormente:

Código:
Shell ("NOTEPAD.exe")

 Lo que sigue del código es la repetición del anterior, modificando la parte de "BRes" y cambiando 101 por 102, así como estaba en el Visual C++.

-----------------------------------------------------------------------------------------------------

Eso es todo, una breve explicación para meter recursos a su proyecto en VB 6. Espero que les haya  servido el tutorial ya que llevó su tiempo y esfuerzo hacerlo, unas 3 horas, pero creo que no explicar este tipo de cosas y guardarlas solo para uno mismo no es lo correcto. Subí el proyecto a Rapidshare y Megaupload para que puedan descargarlo y verlo si tienen dudas.

Descarga vía Rapidshare
Código:
http://rapidshare.com/files/211897502/Tutorial_Recursos_by_M.Black.rar

Descarga vía Megaupload

Código:
http://www.megaupload.com/?d=2SP88CZR
Ambos hosteados en cuentas premium
----------------------------------------------------------------------------------------------------

Son libres de redistribuirlo por todas las webs que quieran pero, por favor, ponerme como autor y no robarse el material

-----------------------------------------------------------------------------------------------------

Si les gustó, agradezcan.

Un saludo y no duden en postear dudas en caso de tenerlas. 


« Última modificación: 21 Marzo 2009, 20:28 pm por M.Black » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #1 en: 22 Marzo 2009, 03:49 am »

Se necesita: -Visual Basic 6.0 -Visual C++

y el source de C++ ?¿

Se puede usar una función para evitar crear tantos prosesos, ojo


« Última modificación: 22 Marzo 2009, 04:41 am por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
byway

Desconectado Desconectado

Mensajes: 181


^^,


Ver Perfil
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #2 en: 22 Marzo 2009, 06:41 am »

Muy bien, un manual basico para implementar recursos, pero porque usar el visual C++  si el visual basic 6.0 tambien puede crear los archivos de recursos en el proyecto...  :P :P :P :P

Saludos.
En línea

xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #3 en: 22 Marzo 2009, 16:59 pm »

tambien se puede hacer con el bloc de notas, se guarda el archivo como .rc y se copila con rc.exe para generar el archivo .res
En línea

M.Black

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #4 en: 22 Marzo 2009, 17:30 pm »

Se necesita: -Visual Basic 6.0 -Visual C++

y el source de C++ ?¿

Se puede usar una función para evitar crear tantos prosesos, ojo

¿El source de C++? :rolleyes:

tambien se puede hacer con el bloc de notas, se guarda el archivo como .rc y se copila con rc.exe para generar el archivo .res

Si, ayer recien me lo dijeron.
En línea

Krackwar ™

Desconectado Desconectado

Mensajes: 100



Ver Perfil
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #5 en: 22 Marzo 2009, 18:53 pm »

Visual C++  es un compilador de C/C++ ( nada que ver con este foro ) y hay veo puro code de vb6
En línea

WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código
  1. mov ecx,1000
  2. Etiqueta:
  3. invoke printf,"No Copiare en clases"
  4. loop Etiq
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #6 en: 22 Marzo 2009, 20:12 pm »

VB ya lleva un editor de recursos incorporado :laugh:

Menú>Complementos>Administrador de complementos...


+Info

Saludos :xD
« Última modificación: 22 Marzo 2009, 20:15 pm por Karcrack » En línea

Krackwar ™

Desconectado Desconectado

Mensajes: 100



Ver Perfil
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #7 en: 22 Marzo 2009, 20:23 pm »

Si , pero es malisimo XN Resource editor RLZ!!!
En línea

WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código
  1. mov ecx,1000
  2. Etiqueta:
  3. invoke printf,"No Copiare en clases"
  4. loop Etiq
M.Black

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [MANUAL]Implementar Recursos en los Programas
« Respuesta #8 en: 22 Marzo 2009, 20:26 pm »

Visual C++  es un compilador de C/C++ ( nada que ver con este foro ) y hay veo puro code de vb6

Habla primero viendo, no puse que se utiliza C++ por que me guste, es porque yo sabía hacerlo con Visual C++, ¿entendés?. No tendrá que ver con el foro pero si con el manual.

OFF: kr4ckwar mi@ own3d?. Black me dijo que no hiciste nada vos :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
rompiendo mi WPA / WPA2 /PSK etc... Manual + Programas
Wireless en Windows
doblefoul 9 64,110 Último mensaje 30 Abril 2013, 17:44 pm
por jemez44
Implementar programas que usen perifericos. ¿Por donde empezar?
Java
NikNitro! 0 1,112 Último mensaje 12 Junio 2014, 17:56 pm
por NikNitro!
Dos programas (Manual y Automático) que no se cierren? [C/C++]
Programación C/C++
Citrusl 7 3,963 Último mensaje 15 Noviembre 2014, 10:38 am
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines