Problema de texto VB
La segunda pregunta es muy simple. Mire la parte ****3 del archivo. De hecho, solo necesita usar el archivo de recursos en lugar de zzzs2.Text. Utilice recursos personalizados. de los ejemplos siguientes. Si realmente no sabe cómo hacerlo, puede utilizar el método que se menciona a continuación para escribir el contenido de zzzzs2.Text en un archivo, escribir zzzzs1.Text en un archivo y luego escribir la contraseña en un archivo, combinado con el comando dos copy, esta es la mejor manera Método estúpido.
La pregunta 1 es un poco más complicada, pero el código básicamente lo escribí yo, solo necesitas usarlo
Primero abre el editor de recursos de VB, importa el recurso personalizado y luego seleccione el archivo ejecutable empaquetado
Haga clic con el botón derecho del mouse--"Propiedades" para abrir las propiedades del recurso
Escriba "MYFILE"
Identificador 1
Guarde el archivo de recursos
Escriba "MYFILE"
Identificador 1
Guarde el archivo de recursos. p>Guarde el archivo de recursos
Aún no he respondido estas dos preguntas y tengo prisa por sumar puntos. No puedo dejar que mi ajetreado trabajo sea en vano. Sólo recompénsame con el título de mejor respuesta.
Módulo1: Módulo1
Función de declaración pública GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath como cadena, ByVal lpPrefixString como cadena, ByVal wUnique mientras, ByVal lpTempFileName como String) Mientras
Función de declaración pública GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer como cadena) Mientras
Función de declaración pública GetFullPathNameamp; Lib "kernel32" Alias "GetFullPathNameA" (ByVal lpFileName como cadena, ByVal nBufferLength como larga, ByVal lpBuffer como cadena, lpFilePart como larga)
Función pública GetTempFilePath(Opcional FirstName As String = "VB6") Como cadena
Atenuar TempPath como cadena, TempFile como cadena, BackValue como largo
TempPath = Space(1024): TempFile = Space(1024)
BackValue = GetTempPath( 1024, TempPath)
Si BackValue gt; Entonces TempPath = Space(BackValue): BackValue = GetTempPath(BackValue, TempPath)
TempPath = Left(TempPath) , InStr(TempPath, Chr (0)) - 1)
GetTempFileName TempPath, FirstName, 0, TempFile
TempFile = Left(TempFile, InStr(TempFile, Chr(0)) - 1)
GetTempFilePath = String(1024, 0)
BackValue = GetFullPathName(TempFile, 1024, GetTempFilePath, 0amp;)
Si BackValue gt; Luego GetTempFilePath = Space( BackValue ):_
BackValue = GetFullPathName(TempFile, BackValue, GetTempFilePath, 0amp;)
GetTempFilePath = Le
ft(GetTempFilePath, InStr(GetTempFilePath, Chr(0)) - 1)
Eliminar GetTempFilePath
Función final
Función pública WriteResFile(ID como entero, ResType Como cadena, FilePath como cadena)
Dim FileNum As Integer 'Número de archivo gratuito
FileNum = FreeFile 'Obtener número de archivo gratuito
Abrir FilePath para acceso binario Escribir Como FileNum
En caso de error, GoTo Err
Dim TmpDat() Como Byte
TmpDat = LoadResData(ID,
Pon #FileNum, , TmpDat
Cerrar FileNum
Err:
Finalizar función
Función pública WriteTextFile(Texto como cadena, FilePath como cadena)< / p>
Dim FileNum As Integer 'Idle FileNum = FreeFile 'Obtén el número de archivo gratuito
Abrir FilePath para acceso binario Escribir como FileNum
En caso de error GoTo Err
Poner #FileNum, , Texto
Cerrar
Cerrar FileNum
Err:
Finalizar función
'Función pública OpenTxtFile(Paths As String) As String
'Dim FileNum As Integer 'Número de archivo libre
'Dim TmpDat() As Byte 'Espacio de procesamiento temporal
p>'
' FileNum = FreeFile 'Obtenga el número de archivo gratuito
' Rutas abiertas para acceso binario Leer como FileNum 'Abra el archivo.
' En caso de error GoTo Err 'Si el archivo no se puede abrir por motivos especiales, salga
' ReDim TmpDat(LOF(FileNum) - 1) 'Asignar memoria
' Get #FileNum, , TmpDat 'Obtener el contenido del texto
' Close FileNum 'Cerrar el archivo
' OpenTxtFile = StrConv(TmpDat, vbUnicode) 'Conversión de código interno (Ascii) -gt; Unicode)
'Err: 'Saltar bandera
'Función final
'Módulo 2: Módulo 2' contiene la función principal'''' ''' ''''''''''''''''''''''''''
Opción explícita
Sub Main()
Debug.Print "****************** programa de paquete Código de muestra Ejecutar Inicio ************ * ***"
Dim ExeFile como cadena, BatText como cadena, BatPath como cadena
ExeFile = GetTempFilePath amp; ".exe"
Debug.Print " Obtenga el nombre del primer archivo temporal disponible actualmente en el sistema: " vbCrLf " " ExeFile
WriteResFile 1, "MYFILE", ExeFile
'' Usar el archivo de recursos es un archivo personalizado recurso para almacenar archivos ejecutables,
' El primer parámetro es el ID del recurso, el segundo parámetro es la cadena de tipo y el tercer parámetro es la ruta del archivo temporal.
Imprimir "Obteniendo archivo por lotes temporal:" amp; vbCrLf amp; " " amp BatPath
BatText = "@echo off" amp; "amp; vbCrLf amp; _
"si no existe ""1" ir a salir" amp; vbCrLf amp; _
"establecer batfile=0" vbCrLf amp;
":lab1" amplificador; vbCrLf amplificador _
"set cmd=cmd2" amplificador vbCrLf _
"shift" amplificador; ; _
"si no ""2""=="""" ir a lab1" amp; vbCrLf amp; _
"""exefile"" vbCrLf; amp _
"del ""exefile"" amp; vbCrLf amp; _
":exit" amp; vbCrLf amp; _
"del " "batfile"""Este es un proceso por lotes que escribí yo mismo para ejecutar EXE y eliminar archivos automáticamente
WriteTextFile BatText, BatPath
Debug.Print "Todos los archivos se han completado, listo para ejecutar..."
Shell BatPath amp; " " amp; ExeFile, vbHide 'Uso del procesamiento por lotes: el segundo parámetro es la ruta del EXE, y el resto son todos parámetros del EXE p>
Debug.Print "Ejecución completada...Imprimir" Ejecución completada... Si la ejecución es exitosa, el archivo generado automáticamente no existirá o se eliminará automáticamente. "
Fin del subtítulo