PDA

Ver la Versión Completa : VBScript desde delphi?


yordan
08-01-2008, 22:37:27
Hola

tengo un fichero borracd.vbs y quiero saber si es posible ejecutarlo desde delphi.

lo siguiente es el codigo del fichero que me sirve para levantar el asistente de winxp en español y borrar un cd rw.

gracias

yordan

Option Explicit
Dim MyCDRW, MyDateCode, MyTarget
Dim oShell, oApp, oFolder, vbShort
' Cambia esta variable acorde a las especificaciones de tu sistema
MyCDRW = "F:\"
' A partir de aqui mejor no tocar nada
'objeto aplication
Set oShell = WScript.CreateObject("WScript.Shell")
Set oApp = CreateObject("Shell.Application")

oApp.NameSpace(&H11).ParseName(MyCDRW).InvokeVerbEx("&Borrar este CD regrabable")

Do until oShell.appactivate("Asistente para grabación de CD")
wscript.sleep 200
Loop

oShell.appactivate("Asistente para grabación de CD")
oShell.SendKeys "{Enter}"

Do until Not oShell.appactivate("Asistente para grabación de CD")
wscript.sleep 500
Loop

Set oApp = Nothing
Set oFolder = Nothing
Set oShell = Nothing

eduarcol
08-01-2008, 23:10:04
lo mas sencillo que podras hacer es crear una dll en VB y cargarla en tu aplicacion de delphi

JXJ
08-01-2008, 23:32:02
hay suites de scripts, que son de pago. o podrias usar el motor de scripts
de windows, windowshostscript. para incrusatarlo en tu aplicacion delphi

usa el google y busca por delphi vbscript

cHackAll
09-01-2008, 01:22:08
Hola yordan; en primer lugar no dejes de usar las etiquetas


Option Explicit
Dim MyCDRW, MyDateCode, MyTarget
Dim oShell, oApp, oFolder, vbShort
' Cambia esta variable acorde a las especificaciones de tu sistema
MyCDRW = "F:\"
' A partir de aqui mejor no tocar nada
'objeto aplication
Set oShell = WScript.CreateObject("WScript.Shell")
Set oApp = CreateObject("Shell.Application")

oApp.NameSpace(&H11).ParseName(MyCDRW).InvokeVerbEx("&Borrar este CD regrabable")

Do until oShell.appactivate("Asistente para grabación de CD")
wscript.sleep 200
Loop

oShell.appactivate("Asistente para grabación de CD")
oShell.SendKeys "{Enter}"

Do until Not oShell.appactivate("Asistente para grabación de CD")
wscript.sleep 500
Loop

Set oApp = Nothing
Set oFolder = Nothing
Set oShell = Nothing


Al grano; utiliza WinExec('wscript borracd.vbs', SW_SHOW);

Saludos

yordan
30-01-2008, 20:47:47
Gracias a todos por la ayuda,

esto funciona de maravilla, pero me gustaría aprender más sobre WSH.
voy a tener que dedicarle un buen tiempito a esto, es que me parece una tontería volver a escribir el codigo de las cosas que ya están hechas y probadas.

saludos y gracias a todos.

yordan