En la variable cComando puedes colocar cualquier instrucción válida de MS-DOS que luego será ejecutada; Si deseas que la ventana sea visible solo cambia el último parámetro de a función ShellExecute y colócalo en 1
Declare Integer ShellExecute In shell32.Dll;
Integer hndWin, String cAction, String cFile,;
String cParams, String cDir, Integer nShow
cComando = "Dir c:*.*"
cArchivo = GetEnv("TEMP") + "" + Sys(2015) + ".bat"
=StrToFile(cComando, cArchivo)
=ShellExecute(0,"Open",cArchivo,"","",0)
ShellExec es una poderosa función que podemos incorporar en nuestras aplicaciones, manda llamar al programa que esta asociado a en un determinado archivo, si por ejemplo mandamos llamar ShellExec("c:\misdatos.xls") busca cual es el programa que abre el archivo "misdatos.xls" que en este caso es Excel, abre el Excel con el archivo misdatos.xls.
FUNCTION ShellExec
LPARAMETER lcLink, lcAction, lcParms
lcAction = IIF(EMPTY(lcAction), "Open", lcAction)
lcParms = IIF(EMPTY(lcParms), "", lcParms)
DECLARE INTEGER ShellExecute ;
IN SHELL32.dll ;
INTEGER nWinHandle, ;
STRING cOperation, ;
STRING cFileName, ;
STRING cParameters, ;
STRING cDirectory, ;
INTEGER nShowWindow
DECLARE INTEGER FindWindow ;
IN WIN32API ;
STRING cNull,STRING cWinName
RETURN ShellExecute(FindWindow(0, _SCREEN.caption), ;
LcAction, lcLink, ; lcParms, SYS(2023), 1)
Endfun
Algunos usos:
Mandar Correo Electrónico:
ShellExec("mailto:
[email protected]")
Abrir Explorador de Windows:
ShellExec("c:\")
Abrir Internet Explorer
ShellExec("
http://www.microsoft.com")
Etc, etc.
Otra forma de utilizarlo es por medio del Objeto Shell.
o=CREATEOBJECT("Shell.Application")
o.Open("
http://www.microsoft.com")
o.SetTime()
o.ShutdownWindows()
o.FileRun()
o.FindFiles()
o.FindComputer()
o.MinimizeAll()