Cómo obtener reemplazo de cadenas en archivos de recursos vb, recompensa completa
Opción explícita
'Declaración API
Función de declaración privada BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (ByVal pFileName As String, ByVal bDeleteExistingResources As Long ) As Long
Función de declaración privada UpdateResource Lib "kernel32" Alias " UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As Long, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long
Función de declaración privada EndUpdateResource Lib "kernel32" Alias "EndUpdateResourceA" (ByVal hUpdate As Long, ByVal fDiscard As Long) As Long
Sub privado Cmd_Write_Click ()
Atenuar hRes mientras, i como entero
Atenuar myStr() como byte, b() como byte, FileName como cadena
FileName = " c:\1. exe" 'Este es el nombre del programa que desea generar
If Dir(FileName) <>"" Then Kill FileName
b = LoadResData( 101, "CUSTOM") ' Número de ID de recurso del archivo Exe en este programa
i = FreeFile
Abrir nombre de archivo para binario como #i
Poner # i, , b
Cerrar #i
myStr = StrConv(Text1.Text, vbFromUnicode)
hRes = BeginUpdateResource(FileName, False)
UpdateResource hRes, "CUSTOM ", 101, 2052, myStr(0), Len(Text1.Text) 'El número de ID del recurso que se reemplazará en el archivo Exe
EndUpdateResource hRes, False
MsgBox "¡Reemplazo y generación de archivos completados! "
Fin del subtítulo