Modificar strings de un resource

14/04/2004 - 09:19 por Jordi Gou | Informe spam
Hola.
.
Estoy escribiendo un código para modificar los resources de un fichero exe.
He desarrollado gran parte de los tipos de resources que necesito pero tengo
un pequño problema con la modificación de un string determinado dentro de la
tabla de strings de los resources.

La parte de código que corresponde a esto tiene este aspecto:

lpType = RT_STRING;
//argv[3] es el valor del string en resource.h
szResourceName = MAKEINTRESOURCE(atol(argv[3]));
//argv[4] es el nuevo valor del string
lpResFile = argv[4];
lsize=strlen(argv[4]);
//argv[2] és el path del exe a modificar
hUpdateRes = BeginUpdateResource(argv[2], FALSE));
UpdateResource(hUpdateRes, lpType, szResourceName,MAKELANGID(LANG_NEUTRAL,
SUBLANG_NEUTRAL),lpResFile, lSize);
EndUpdateResource(hUpdateRes, FALSE);

No sé exactamente qué está pasando porque UpdateResource no da error pero el
string no se modifica en el exe que le introduzco.

Alguien puede ayudarme? Alguien sabe qué es lo que hago mal?

Gracias

Jordi
 

Leer las respuestas

#1 Cholo Lennon
14/04/2004 - 19:08 | Informe spam
¿Que sistema operativo estás usando?. BeginUpdateResource solo está
disponible sobre NT. Además las cadenas deben estar en formato unicode.
Al ver tu codigo, no veo control de errores: Chequear si el handle devuelto
por BeginUpdateResource es válido y si no lo es, utilizar GetLastError para
averiguar más sobre el fallo.


Saludos
Cholo Lennon
Salta, ARG

Preguntas similares