Visual Basic - Control shell

Life is soft - evento anual de software empresarial
 
Vista:

Control shell

Publicado por Toni (1 intervención) el 20/06/2006 09:34:34
Tengo una aplicacion que a partir de ficheros PDF gestionados en una base de datos, los combina entre si, y luego los manda por fax, email, o los imprime directamente (segun opcion). El proceso de combinacion lo realizo haciendo una llamada mediante una instruccion shell, y el problema esta en que dependiendo la cantidad de PDF, tarda mas o menos tiempo en terminar, por lo que tengo que detectar si ha terminado de realizar la tarrea antes de proceder a los envios.

alguiien sabe como detectar si ha terminado?

Gracias

Toni
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Control shell

Publicado por Javi RM (187 intervenciones) el 21/06/2006 09:26:24
Prueba con esta función que utilizo en mis aplicaciones, le pasas la instrucción de líneas de comendos y el estilo de ventana.

Private Const STILL_ACTIVE = &H103
Private Const PROCESS_QUERY_INFORMATION = &H400

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long

Public Function DOS_ExecCmdNoFocus(ByVal CmdLine As String, Optional Estilo As VbAppWinStyle = vbMinimizedNoFocus) As Boolean

Dim hProcess As Long
Dim RetVal As Long

On Error GoTo dosErr:
'La siguiente línea lanza la línea de comandos y captura el id del proceso
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(CmdLine, Estilo))
Do
'Recoge el estado del proceso
GetExitCodeProcess hProcess, RetVal
DoEvents
Sleep 100
'Realiza el bucle mientras el proceso está activo
Loop While RetVal = STILL_ACTIVE
DOS_ExecCmdNoFocus = True
Exit Function
dosErr:
DOS_ExecCmdNoFocus = False
'MsgBox Err.Description
End Function

Un saludo. ; )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PDF

Publicado por JOSÉ (2 intervenciones) el 31/03/2007 14:34:49
Buenas tardes Javier,

Como veo que dominas el tema de VB, te pido si me puedes ayudar con un problemilla. Si quieres y si consigues solucionar el problema claro está.

Tengo escaneados un monton de imagenes en pdf con un scaner Fujitsu TI-5120
que hace duplex. Cada hoja me la escanea generandome un fichero pdf parte delantera y otro pdf parte trasera. Ya tengo 10.000 ficheros pdf.!!!! y sigo...

Claro esta, lo que deseo es que me cree un pdf para las dos caras. Esto el software de fujitsu no lo hace, increible, pero cierto.

El caso es que me encuentro con 10.000 ficheros pdf que los tendría que ir uniendo.
(los ficheros que crea el pdf los va numerando con 001, 002 osea que cada fichero par e impar es la fisma hoja)

Sabes de algún codigo, programa que seleccionando el directorio que tengo con estos 10.000 ficheritos en pdf los convierta en otro directorio con 5.000 pdf's uniditos.

Si es así, me dejaré las venas largas.

GRACIAS!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar