Buen día para todos...
Que tal amigos, por casualidad saben si es posible ejecutar el mandato RUN sin que salga o aparezca la ventana de fondo negra?.
Ejemplo:
RUN("Dir > C:\dir.txt")
RUN sin ventana de fondo negra
- cuatecatl82
- Posts: 614
- Joined: Wed Mar 14, 2007 6:49 pm
- Location: San Cristobal de las Casas, Chiapas México
- Contact:
Saludos ARCC:
Prueba de la Siguiente Manera:
A mi me ha funcionado para correr comandos del DOS desde mi aplicacion.
La idea es Crear un archivo .BAT, ejecutarlo y Borrarlo, puedes agregar los comandos que necesites..
Ojala y te pueda servir...
Prueba de la Siguiente Manera:
Code: Select all
//---------------------------//
FUNCTION RunComand()
LOCAL cAccion:= "@ECHO OFF"+CRLF+"Dir > C:\dir.txt"
LOCAL cFile:= ".\COMANDO.BAT"
LOCAL nHandle:= FCREATE(cFile)
FWRITE(nHandle, cAccion)
INKEY(0.2)
FCLOSE(nHandle)
INKEY(0.2)
WaitRun(cFile,0)
INKEY(0.2)
FERASE(cFile)
RETURN nil
La idea es Crear un archivo .BAT, ejecutarlo y Borrarlo, puedes agregar los comandos que necesites..
Ojala y te pueda servir...
Soluciones y Diseño de Software
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Damos Soluciones...
I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos
http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Buen día para todos...
Que tal Victor, muchas gracias funciona muy bien pero recuerdo que una vez Antonio Linares colocó un código para utilizar RUN sin la ventana de fondo.
Esta fué la función final que resultó de es tu código con unos muy pequeños retoques.
Que tal Victor, muchas gracias funciona muy bien pero recuerdo que una vez Antonio Linares colocó un código para utilizar RUN sin la ventana de fondo.
Esta fué la función final que resultó de es tu código con unos muy pequeños retoques.
Code: Select all
//*******######
Function RunCmd( cCmd, cTempFile )
//*******######
Local nHandle
Local cFileBAT
Default cTempFile := GetWinDir() + "\Temp\"
cFileBAT := cTempFile + "RunCmd.bat"
nHandle := FCreate( cFileBAT )
FWrite( nHandle, "@ECHO OFF" + CRLF + CRLF + cCmd )
Inkey( 0.2 )
FClose( nHandle )
Inkey( 0.2 )
WaitRun( cFileBAT, 0)
Inkey( 0.2 )
FErase( cFileBAT )
Return Nil
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Holas,,
Asi me trabaja ok:
Salu2
Function CapturaPuerto(cRutaLpt, cLptx)
local cOrden
If AT("\\" + Netname(), cRutaLpt) > 0 // para no redundar en el server de impresoras
Return(Nil)
EndIf
cOrden := "net use " + cLptx + " /delete" // eliminamos el asunto
cOrden := "COMMAND.COM /C " + cOrden
WaitRun(cOrden, 0) // ejecutor externo
If !EMPTY(cRutaLpt) .AND. (cLptx = "LPT1" .OR. cLptx = "LPT2" .OR. cLptx = "LPT3")
cOrden := "net use " + cLptx + " " + ALLTRIM(cRutaLpt)
cOrden := "COMMAND.COM /C " + cOrden + " /persistent:yes"
WaitRun(cOrden, 0) // ejecutor externo
EndIf
Return(Nil)
Asi me trabaja ok:
Salu2
Function CapturaPuerto(cRutaLpt, cLptx)
local cOrden
If AT("\\" + Netname(), cRutaLpt) > 0 // para no redundar en el server de impresoras
Return(Nil)
EndIf
cOrden := "net use " + cLptx + " /delete" // eliminamos el asunto
cOrden := "COMMAND.COM /C " + cOrden
WaitRun(cOrden, 0) // ejecutor externo
If !EMPTY(cRutaLpt) .AND. (cLptx = "LPT1" .OR. cLptx = "LPT2" .OR. cLptx = "LPT3")
cOrden := "net use " + cLptx + " " + ALLTRIM(cRutaLpt)
cOrden := "COMMAND.COM /C " + cOrden + " /persistent:yes"
WaitRun(cOrden, 0) // ejecutor externo
EndIf
Return(Nil)
Buen día para todos...
Que tal Willi, bueno tu método funciona y no hay que crear ningún archivo temporal, pero tengo una pequeña duda la cual te o les voy a plantear que no ocurre con el método de Victor.
Así trabaja bien
Pero así no, cre el archivo DIR.TXT pero vacio
Será que estoy haciendo algo mal, pero con el método de Victor si funciona bien
Que tal Willi, bueno tu método funciona y no hay que crear ningún archivo temporal, pero tengo una pequeña duda la cual te o les voy a plantear que no ocurre con el método de Victor.
Así trabaja bien
Code: Select all
WaitRun( "COMMAND.COM /C DIR /A:D /B C:\DOCUME~1 > C:\DIR.TXT", 0 )
Code: Select all
WaitRun( 'COMMAND.COM /C DIR /A:D /B "C:\Documents and Settings" > C:\DIR.TXT', 0 )
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: RUN sin ventana de fondo negra
ARCC wrote:Buen día para todos...
Que tal amigos, por casualidad saben si es posible ejecutar el mandato RUN sin que salga o aparezca la ventana de fondo negra?.
Ejemplo:
RUN("Dir > C:\dir.txt")
Prueba esto, lo encontré por ahí:
Ej.: Si queremos hacer un archivo ZIP con PKZIP:
oK := WaitRun( "Pkzip.exe A:Respaldo *.dbf" )
Y para cerrar la ventana que se ve al correr la aplicación:
WaitRun( "command.com /c tuprograma", 0 )
- Willi Quintana
- Posts: 859
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Buen día para todos...
Ahora si Willi ya quedo y muy secillo el código.
Ahora si Willi ya quedo y muy secillo el código.
Code: Select all
//*******######
Function RunCmd( cCmd )
//*******######
WaitRun( "CMD.EXE /C " + cCmd, 0)
Return Nil