Bien, pues llevo usando el mismo code (Mio) para añadir archivos de recursos (nuevos) a los ejecutable, y me funciona bien, pero es la primera vez que intento reemplazar uno y sale mal..
Este es el code:
Private Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long) As Long
Private Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Private Sub Form_Load()
Dim Beg As Long, Mes As String
Mes = "String Nuevo"
Beg = BeginUpdateResource("C:\EjecutablePrueba.exe", False)
Call UpdateResource(Beg, "String Table", 7, 3082, ByVal StrPtr(Mes), LenB(Mes) + 2)
Call EndUpdateResource(Beg, 0)
End Sub
Bueno todo bien pero como rayos hago para que se reemplaze..
Viendo con un editor de recursos tengo 2 "String Table", el primero es el original, el segundo es el que yo puse pero sale asi:
STRINGTABLE
LANGUAGE LANG_SPANISH, 0x3
{
9232, "String Nuevo"
}
Lo que no entiendo es como reemplazar el recurso y que no salgan 2 y como colocar un ID que yo quiera, predeterminadamente 101..
Alguna info, o ayuda.. plis
SaluDOS!!! y agradezco cualquier ayuda.