averiguar el "PID" de un proceso lanzado desde vb
Si Lanzo un aplicacion por ejemplo un CrystalReport desde vb, este cogera un Identificador de proceso "PID", Existe algun API que me diga que PID se le ha asignado ,
Mi problema es que tengo q presentar varios Crystal Reports uno detras de otro, de forma q cuando el usuario cierre uno yo pueda presentar el siguiente.
Si se que PID se le ha asignado podria hacer un bucle que de "no hacer hacer nada" hasta q el proceso fuera matado (osea que el usuario cerrara el crystalreport ) y aconinuacion lanzaria el siguiente.
Analogamente Si lanzo un docomento de word, y me interesa parar el programa hasta q el usuario cierre ese documento. sigo teniendo el mismo problema
Si me podeis ayudar os lo agradeceria un mucho
Mi problema es que tengo q presentar varios Crystal Reports uno detras de otro, de forma q cuando el usuario cierre uno yo pueda presentar el siguiente.
Si se que PID se le ha asignado podria hacer un bucle que de "no hacer hacer nada" hasta q el proceso fuera matado (osea que el usuario cerrara el crystalreport ) y aconinuacion lanzaria el siguiente.
Analogamente Si lanzo un docomento de word, y me interesa parar el programa hasta q el usuario cierre ese documento. sigo teniendo el mismo problema
Si me podeis ayudar os lo agradeceria un mucho
es simple utiliza una shell, adjunto ejemplo.
Este ejemplo imprime un docto creado con pdf.
Private Sub Form_Load()
Dim gsNombreArchivoPDF As String
Dim gsExtArchivoPDF As String
Dim iIDAcrobat
Dim sNombreArchivo As String
Dim sRuta As String
gsPathAcrobat = "C:Archivos de ProgramaAdobeAcrobat 5.0ReaderAcroRd32.exe"
gsNombreArchivoPDF = "C:cartola"
gsExtArchivoPDF = ".pdf"
sNombreArchivo = Trim(gsNombreArchivoPDF & gsExtArchivoPDF)
'Ruta que se utilizará en la llamada al Acrobat
sRuta = gsPathAcrobat & " /s /h /t " & sNombreArchivo _
& " '" & Printer.DeviceName & "'" _
& " '" & Printer.DriverName & "'" _
& " '" & Printer.Port & "'"
'Cambia la comilla simple por comilla doble
sRuta = Replace(sRuta, "'", Chr(34))
' Ejecuta Adobe.
iIDAcrobat = Shell(sRuta, 6) <===== LA SHELL TE ENTREGA EL PID DEL PROCESO
End Sub
para imprimir en otro formato, por ejemplo notepad
private form_load()
dim pid as integer
pid = shell("C:notepad.exe", 6)
end sub
esto solo te sirve para poder identificar el numero de proceso, si kieres saber el nombre del proceso y como matarlo (kill process) enviame un correo solicitando esta aplicacion.
Este ejemplo imprime un docto creado con pdf.
Private Sub Form_Load()
Dim gsNombreArchivoPDF As String
Dim gsExtArchivoPDF As String
Dim iIDAcrobat
Dim sNombreArchivo As String
Dim sRuta As String
gsPathAcrobat = "C:Archivos de ProgramaAdobeAcrobat 5.0ReaderAcroRd32.exe"
gsNombreArchivoPDF = "C:cartola"
gsExtArchivoPDF = ".pdf"
sNombreArchivo = Trim(gsNombreArchivoPDF & gsExtArchivoPDF)
'Ruta que se utilizará en la llamada al Acrobat
sRuta = gsPathAcrobat & " /s /h /t " & sNombreArchivo _
& " '" & Printer.DeviceName & "'" _
& " '" & Printer.DriverName & "'" _
& " '" & Printer.Port & "'"
'Cambia la comilla simple por comilla doble
sRuta = Replace(sRuta, "'", Chr(34))
' Ejecuta Adobe.
iIDAcrobat = Shell(sRuta, 6) <===== LA SHELL TE ENTREGA EL PID DEL PROCESO
End Sub
para imprimir en otro formato, por ejemplo notepad
private form_load()
dim pid as integer
pid = shell("C:notepad.exe", 6)
end sub
esto solo te sirve para poder identificar el numero de proceso, si kieres saber el nombre del proceso y como matarlo (kill process) enviame un correo solicitando esta aplicacion.
