¡VAMOS A COMENZAR!
Lo primero ejecutamos de nuevo el programa “ResHacker.exe”.
Vamos a archivo --> abrir y abrimos el “copia.exe” que teníamos en el escritorio.
GIF y AVI
La primera carpeta que vemos a la izquierda es GIF (o AVI). Aquí aparecen los archivos .gif y .avi como he señalado más arriba.
La abrimos al máximo: GIF, 128 y pulsamos en el 0, veremos que el recurso es un .gif de Resource Hacker en el que un martillo golpea a las letras.
Este gif aparece en ayuda --> acerca de… (Comprobarlo).
-Podemos guardar el .gif en nuestro disco duro para, por ejemplo, editarlo:
Pulsamos con el botón derecho en el recurso (0) y en el menú que sale, la tercera opción es: Guardar [GIF : 128 : 0], pulsamos y la guardamos donde queramos.
[GIF : 128 : 0] (esto nos indica el nombre “128”, el tipo “GIF” y el lenguaje “0” del recurso).
-Una vez retocada o cuando tengamos otro .gif que queramos usar, volvemos a pulsar con el botón derecho y damos a “reemplazar recurso”, en la siguiente ventana señalamos “abrir archivo con nuevo recurso”, elegimos el archivo .gif que queremos insertar y después debemos rellenar los dos primeros campos tal y como lo tenemos nombrado a la izquierda, es decir, en tipo de recurso escribiremos GIF y en nombre de recurso escribiremos 128. Le damos a reemplazar y ya lo tenemos. Para comprobarlo podemos “guardar como” ejemplo.exe (acordarse de poner la extensión .exe) y ejecutamos el nuevo ejemplo.exe.
Vamos a Ayuda --> acerca de… y veremos cómo ha cambiado el dibujo... ¿curioso verdad?
Imagen08 Problemas que he encontrado: dará fallos en la ejecución si se cambia el tipo, nombre o lenguaje del recurso.
En este ejemplo que he puesto, el archivo que tiene que reemplazarse tiene que ser .gif y da igual el número de píxeles y el tamaño. Pero es aconsejable que sean similares para poder verlos correctamente. Yo lo que he hecho ha sido crear una imagen con un programa editor gráfico (podéis si no retocar la imagen del programa o utilizar una vuestra) y después grabarla como .gif.
ICONOS Y CURSORES
En los iconos y cursores la información del recurso está dividida en dos tipos:
“Cursor” y “Cursor group” por un lado e “Icon” e “Icon group” por otro lado.
Se puede observar perfectamente esto en la parte de la izquierda.
Cada icono o cursor puede contener varias imágenes relacionadas. Ej.
16 píxeles x 16 píxeles (16 colores)
32 píxeles x 32 píxeles (256 colores) dependiendo del tamaño y resolución del color se utilizará un icono u otro. Por ejemplo, el icono para ejecutar el programa no tiene el mismo tamaño ni resolución que el que hay en la esquina superior izquierda de la ventana.
-El “Icon group” contiene la información de un icono: nombre de la imagen, tamaño de la imagen y resolución del color.
-El “Icon” contiene la imagen real.
Para cambiar un icono: Vamos p.ej. a Icon Group --> MAINICON--> 3081 pulsamos con el botón derecho y seleccionamos reemplazar recurso. No tiene más complicación. Elegimos el que queremos (veis que se pueden seleccionar .exe etc…). Ahora podemos ver cómo se ha modificado “Icon” e “Icon Group”.
Para ver los resultados “guardar como” y veréis ya primeramente cómo ha cambiado el icono para ejecutar la aplicación.
Para cambiar el“Cursor” hacemos lo mismo. Lo que pasa es que aquí he encontrado algún que otro problema. Alguna vez he intentado cambiar algún cursor por otro que contenía algún programa .exe, y al ejecutarlo, me ha dado error en la aplicación. Así que si cambiáis algún cursor ¡probar que os funcione!.
Tenéis bastantes cursores en Windows --> cursores y cursor. Hay también muchas utilidades para crear vuestros propios .cur y utilizarlos.
Para crear iconos hay muchos programas gratuitos. Ejemplos:
http://greenfish.xtreemhost.com/downloads.phphttp://icofx.ro/http://www.conware.org/products/ia/about.phpBitmap:
Puedes igualmente reemplazar las imágenes. El mejor consejo aquí es que pruebes por ejemplo en Bitmap --> SMALLICONS y cambies la bmp por otra (botón derecho, reemplazar recurso). Estos iconos son de 16 x 16 pixels. En total el dibujo es de 64 x 16 pixels. Así que aunque sea complicado, para hacerlo bien hay que hacerlo en ese tamaño.
Puedes sino editar esa .bmp. Para esto tienes que guardarla en el disco duro. Botón derecho y guardar. A mi no me ha dado ningún problema incluso insertándole imágenes de mucho mayor tamaño y resolución.
En mi ejemplo he “jugado” con unas palabras, tú puedes intentar cualquier otra cosa que se te ocurra. Este es el resultado:
Imagen09 Para modificar imágenes o gráficos tenemos el archiconocido programa GIMP:
http://www.gimp.org.es/String Table:
Para modificar la información vamos a hacer un ejemplo:
Abrimos String Table --> 4077 y pulsamos en 0. Vemos que a la derecha en 65218 sale “¿Está seguro que quiere borrar recursos?”, todo lo que hay entre comillas se puede cambiar y variar el tamaño.
Poner lo que queráis. Yo he puesto: “Soy karmany”. Ahora le damos al botón de arriba “Compilar Script”.
Si no da ningún error ya lo tenemos. Para comprobarlo vamos a “guardar como”, ponemos por ej. ejemplo.exe y lo guardamos. Lo abrimos desde su icono ejemplo.exe y vamos a archivo abrir y abrimos “copia.exe”. Abrimos GIF --> 128 -->0, pulsamos con el botón derecho y decimos borrar recurso. Veréis lo que sale…
Imagen10 Esto sólo lo hace la primera vez que intentamos borrar un recurso, si aceptamos después ya no sale.
Hay que saber que:
-No cambiar nada que no haya entre comillas.
-Los símbolos % no hay que borrarlos ni cambiarlos de sitio ni borrar la coma que hay detrás ni las letras que van detrás pegadas.(%A0)
-El símbolo & significa que la letra que va detrás de este símbolo es el acceso rápido para el programa. En un mismo menú no puede ir la misma letra. La letra va subrayada.
-Como habréis podido observar hay mucha información que no deja cambiarla al pulsar en Compilar Script, y abajo sale error, ya explicaré más adelante cómo se puede intentar cambiar. También hay muchísima información que probablemente no veamos nunca, así que si queréis traducir un programa mi consejo es que traduzcáis lo imprescindible solamente.
-Para buscar recursos tenemos en el menú ver --> buscar texto. La verdad que a mi me resulta muy útil.
RCData:
Aquí aparte de cambiar el texto, puedes cambiar el color, subrayado etc…este es el apartado que más me gusta.
Vamos a por el primer ejemplo:
Vamos a RCData --> TABOUTFORM y pulsamos sobre el 0. Ya os he explicado en el apartado anterior cómo cambiar el texto, así que podéis cambiar el “acerca de“ que hay en la sexta línea y que es el título de la ventana de ayuda --> acerca de. Pulsáis después Compilar Script, (siempre que cambiéis algo hay que pulsar Compilar Script) guardar cómo, no olvidar la extensión .exe y probar la aplicación.
Para variar otras características hay que entender un poco más:
Cada ventana, recurso etc… en este ejemplo empieza por object y termina por end. Si os fijáis arriba del todo (en RCData --> TABOUTFORM y pulsamos sobre el 0) pone: “object AboutForm: TAboutForm” que significa que va a empezar a definir la ventana de ayuda. El end lo tiene abajo del todo (es el último), es decir, que todo lo que hay entre “object AboutForm: TAboutForm” y end corresponde a los datos que hay en la ventana de ayuda “acerca de”.
Desde arriba todos los datos que veis hasta “TextHeight = 14” definen las características de la ventana, algunas de ellas como:
Left = 209, Top = 251, ClientHeight = 205, ClientWidth = 296 que indican respectivamente la posición en la horizontal, posición en la vertical, anchura y longitud de la ventana.
A veces es posible cambiar estos valores, pero mi experiencia dice que suelen dar bastantes errores. Para evitar estos errores yo lo que hago es compilar “programando” los textos yo mismo (esto está explicado un poco más abajo). Un valor de ejemplo que podéis compilar es ClientHeight=2 y veréis cómo cambia la ventana. Si ponéis otros valores y compiláis, el error os lo dará al intentar ejecutar la aplicación:
Error… no es una aplicación win32 válida…
Vamos a por otro objeto, el siguiente:
object Label3: TLabel
Left = 27
Top = 128
Width = 241
Height = 15
Cursor = crHandPoint
Caption = '
http://rpi.net.au/~ajohnson/resourcehacker'Font.Charset = DEFAULT_CHARSET
Font.Color = clBlue
Font.Height = -12
Font.Name = 'Arial'
Font.Style = [fsBold, fsUnderline]
ParentFont = False
OnClick = Label3Click
End
-El “object Label3: TLabel” nos dice que va a definir un control Label (es un texto que no puede ser modificado por el usuario, cuando se ejecuta el programa).
-Las 4 siguientes líneas indican la posición como he explicado antes. (Aquí no me deja cambiarlas).
- Cursor = crHandPoint indica el cursor que va a tener cuando pasas el icono del ratón sobre el texto.(En este caso es una mano, indicando que es interactivo).
-Caption = es el mensaje.
-Font.Color = clBlue indica el color del texto. Color azul.
-Font.Height = -12 indica el tamaño. Mayor número mayor tamaño.
-Font.Name = ‘Arial’ es el tipo de letra.
-Font.Style = [fsBold, fsUnderline], indica las características del texto: Bold es negrita y underline es subrayado.
-OnClick = Label3Click activa para que cuando pulsemos (hagamos clic) sobre el texto haga una determinada función.
Bueno pues viendo lo que tenemos aquí, vamos a hacer nuestra pequeña programación en texto!! Así podremos poner el texto que queramos y donde queramos sin que nos dé ese error tan molesto de "no es una aplicación win32 válida..!!" (nota: esto de no es una aplicación válida suele aparecer al modificar ciertos recursos y guarda con el editor de recursos. Normalmente suele ser que no se ha modificado el encabezado correctamente. Esto que se explica seguidamente es para evitar este comportamiento del editor de recursos de una forma sencilla):
Lo primero es definir un texto:
“object Label9: TLabel” y ahora le pongo las características que yo quiero y en total me queda así:
object Label9: TLabel
Left = 0
Top = 0
Width = 241
Height = 15
Cursor = crDrag
Caption = 'Esto es una prueba'
Font.Charset = DEFAULT_CHARSET
Font.Color = clred
Font.Height = -20
Font.Name = 'Verdana'
Font.Style = [fsItalic]
ParentFont = False
End
Ahora lo que tenéis que hacer es insertar todo esto. Yo lo he insertado detrás de “TextHeight = 14”. Como si trabajarais con el bloc de notas. Luego lo compiláis y probáis la aplicación.
¡Impresionante verdad!.
Imagen11 En este punto yo sé que más de uno se va a animar haciendo muchísimas cosas más, pero lo dejo en vuestra imaginación.
Dialog:
Es muy curioso cómo actúa el programa Resource Hacker con los recursos de Dialog.
Como ejemplo voy a intentarlo con un archivo que espero tenga todo el mundo.
Primeramente haremos una copia de seguridad. Vamos a:
-Disco duro --> archivos de programa --> Windows Media Player --> y hacemos una copia del archivo ejecutable: “setup_wm.exe”.
Abrimos la copia con el Resource Hacker.
-Vamos a Dialog --> 51 y pulsamos en 3082. ¿Veis el botón que os he dicho antes?: “mostrar u ocultar diálogo”. En este caso ocultar diálogo:
Imagen12 Pulsadlo para que veáis lo que hace. Pues esa ventana que pone Iniciando descarga, la podéis modificar a vuestro gusto. Podéis pinchar sobre las dos barras de descarga y sobre las letras iniciando descarga y ponerlas donde vosotros queráis.
Aquí porque no salen botones (botones de aceptar, cancelar etc…), pero podéis pinchar igualmente sobre ellos y modificar la posición como queráis.
Esta es una de las maneras para modificar los recursos, pero podemos hacerlo de otras formas.
Otra forma es variar el código que en este caso es:
51 DIALOGEX 0, 0, 399, 134
STYLE DS_NOFAILCREATE | WS_CHILD
EXSTYLE WS_EX_RTLREADING | WS_EX_CONTROLPARENT
CAPTION ""
LANGUAGE LANG_SPANISH, 0x3
FONT 8, "Tahoma"
{
CONTROL "Progress1", 8000, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 64, 40, 286, 9
CONTROL "Progress1", 8001, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 64, 88, 286, 9
CONTROL "", 1028, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 311, 25, 36, 8 , 0x00001020
CONTROL "", 1021, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 311, 74, 36, 8 , 0x00001020
CONTROL "Iniciando descarga...", 1022, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 64, 66, 222, 16 , 0x00000020
CONTROL "", 1023, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 64, 17, 222, 16 , 0x00000020
CONTROL "", -1, "NativeFontCtl", 0x50000010, 0, 0, 0, 0
}
Así a primera vista parece complicado, pero se entenderá todo este código en el siguiente párrafo.
Una manera más de variar aquí los recursos es pulsando con el botón derecho (Cuando está mostrado el diálogo). Sale un menú y podéis insertar control, editar control, borrar control, editar diálogo y ocultar diálogo. Es una forma muy fácil de editar.
Voy a poner un ejemplo sencillo para entender también cómo se modifica el código.
Nos encontramos aquí de nuevo:
Imagen13 Pulsamos sobre la ventana que pone Dialog – 51 con el botón derecho y seleccionamos insertar control. Como en los ejemplos que hemos puesto arriba, vamos aquí también a insertar un texto label que diga por ejemplo: Espere.
Para ello en el menú desplegable seleccionamos STATIC:
Imagen14 O bien pulsamos sobre la palabra label. Si dejamos el puntero del ratón sobre cada icono nos dice a qué control corresponde.
En leyenda poner: Espere.
Por lo demás, he cambiado lo que se ve(podéis ver cómo se modifica el valor Style): 54020101
Imagen15 Y queda así:
Imagen16 Hay que darse cuenta que al modificar esto de esta forma, hemos cambiado el código que parecía tan complicado al principio. Acabamos de insertar en la ventana un control label. Vamos a ver cómo se ha puesto en el código:
CONTROL "Espere", 0, STATIC, SS_CENTER | SS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_GROUP, 134, 112, 74, 14 , 0x00020201
Ahora ya se entiendo todo... ¿verdad?
Ya se ve que no es nada complicado todo esto, simplemente es experimentar un poco.
Llegados a este punto he de decir una de las muchas utilidades del Resource Hacker. ;o)
Algunas veces al abrir un programa, nos podemos encontrar con alguna “pesada” e incomoda ventana de información, como la que he puesto al inicio, que nos puede avisar o comunicar cualquier cosa: desde la versión del programa hasta.... los días que nos quedan para utilizar el programa. ¿Qué se hace para evitar esta desagradable ventana de información?, pues, ya veréis pero no siempre, que borrando la carpeta con todos sus recursos ya no vuelve a salir. En el ejemplo anterior sería borrar por completo la carpeta 51.
Insertar Imagen
Por último antes de acabar voy a poner un ejemplo que vi en el archivo ayuda de cómo insertar una imagen o un icono en programas que tengan la carpeta Dialog. Lo primero es buscar un programa que contenga la carpeta Dialog, así que buscando he encontrado uno muy conocido el emule 0,47a (compilado en C/C++ si no me equivoco).
Vamos a ir a Disco duro --> archivos de programa --> emule y copiamos el archivo “eMule.exe” y lo pegamos en el escritorio, lo utilizaremos como copia de seguridad.
Abrimos la copia del emule 0,47a con el Resource Hacker.
Ahora lo que vamos a hacer es insertar el icono que queremos que aparezca en la ventana. Para esto seleccionamos en Acción --> Añadir un nuevo recurso. Abrir archivo con nuevo recurso y vamos a buscar el icono.ico. Elegir el que queráis, yo he elegido uno de color verde. Seleccionarlo.
En tipo de recurso ya se tendrá que haber puesto ICONGROUP y en nombre de recurso ponéis el que queráis: NUEVOICONO he puesto yo. Le dais a añadir recurso. Para ver si está bien insertado nos vamos a Icon Group y tiene que aparecer nuestro NUEVOICONO (por orden alfabético).
Ahora nos vamos a ir a la ventana donde queremos insertarlo que en este caso está en: Dialog --> 315 por ej.
Pulsáis sobre el 0 y en la parte de la derecha arriba en ocultar diálogo (o cerrar la ventana). Y ahora vamos a insertar la orden oportuna, insertándola donde queráis, yo la he puesto la última:
CONTROL "NUEVO ICONO", -1, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 171, 173, 21, 20
Sobre todo tened cuidado de no borrar el {. Si la copiáis directamente tal vez os de error de sintaxis las comillas. Deberéis cambiarlas vosotros escribiéndolas de nuevo.
Tras todo esto pulsamos en Compilar Script y ya tenemos el icono. Lo ponemos donde queramos, volvemos a compilar y guardamos.
Para ver el resultado, abrimos el emule y vamos a preferencias, ahí estará la ventana con nuestro nuevo icono:
Imagen17 Bueno hasta aquí dejo ya el Resource Hacker.
Existen muchísimos programas para editar recursos. En el siguiente apartado veremos algunos.