Buenas chavales, como estan? espero que bien, aqui tengo mi duda, quiero cargar un vbs desde recursos en vb6 y luego ejecutarlo.
Desde ya muchas gracias saludos.!
Primero tienes que usar el editor de recursos para añadir un "CustomResource", que en el caso dado será elegir el fichero vbs y guardar el fichero de recursos (te lo pide antes de compilar).
Luego en tiempo de ejecución tienes que usar la función LoadResData
Ten presente que dicha función devuelve un array de bytes, con los que ya tu trabajas como te convenga, lo puedes guardar a un fichero y ejecutar y al terminar borrarlo, etc...
Un simple ejemplo de muestra...
Private Sub RescatarElVbs()
Dim canal As integer, ruta As String
Dim vbsFile() As Byte
canal = FreeFile
ruta = App.Path & "\" & cstr(now) & ".vbs"
Open ruta For Binary As #canal
vbsFile = LoadResData(108, "MiVBS") ' valores ficiticios de ejemplo, deben ser loa que contengan el recurso.
Put #canal , , vbsFile
erase vbsFile
Close #canal
' shell(...) o lo que quieras hacer con ello.
' kill ruta .. cuando termines.
end sub
Cita de: Serapis en 16 Enero 2021, 02:01 AM
Primero tienes que usar el editor de recursos para añadir un "CustomResource", que en el caso dado será elegir el fichero vbs y guardar el fichero de recursos (te lo pide antes de compilar).
Luego en tiempo de ejecución tienes que usar la función LoadResData
Ten presente que dicha función devuelve un array de bytes, con los que ya tu trabajas como te convenga, lo puedes guardar a un fichero y ejecutar y al terminar borrarlo, etc...
Un simple ejemplo de muestra...
Private Sub RescatarElVbs()
Dim canal As integer, ruta As String
Dim vbsFile() As Byte
canal = FreeFile
ruta = App.Path & "\" & cstr(now) & ".vbs"
Open ruta For Binary As #canal
vbsFile = LoadResData(108, "MiVBS") ' valores ficiticios de ejemplo, deben ser loa que contengan el recurso.
Put #canal , , vbsFile
erase vbsFile
Close #canal
' shell(...) o lo que quieras hacer con ello.
' kill ruta .. cuando termines.
end sub
Gracias por tu respuesta de verdad, pobre con tu ejemplo use shell para llamar al vbs y me tira error en lo que seria la ruta, tenes idea que puede ser?
gracias nuevamente.
Ya lo pude solucionar gracias!!
saludos :D
Cita de: nosequenosenada en 16 Enero 2021, 06:58 AM
... contu ejemplo use shell para llamar al vbs y me tira error en lo que seria la ruta, tenes idea que puede ser?
Si, claro.
La sentencia 'now', da la fecha de 'ahora', lo que incluye loe separadores de los campos de fecha y hora, que deben reemplazarse, por ejemplo por un guión...
...como es un código al vuelo, es normal que se escape un detalle.