Visual Basic - Ayuda con Exe Externo

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con Exe Externo

Publicado por ChidMix (18 intervenciones) el 30/11/2009 03:47:20
Hola Amigos, en una nota de hace dias preguntaba respecto de como ejecutar aplicaciones externas mediante Visual Basic 6.0. Ejecutar la apliación no es el problema, mi problema redica en que deseo ejecutar la aplicación externa de forma Modal, se decir que mi aplicación quede inactivada mientras se ejecuta la aplicación externa.

Como puedo hacer eso?, es posible?

Quedo en espera de sus respuestas...
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
sin imagen de perfil
Val: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Ayuda con Exe Externo

Publicado por Christian (713 intervenciones) el 01/12/2009 01:42:42
Por ahora encontre esto.

Option Explicit

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const SYNCHRONIZE = &H100000
Private Const INFINITE = &HFFFF
Private Const WAIT_OBJECT_0 = 0
Private Const WAIT_TIMEOUT = &H102

Private Sub Form_click()
Dim llngProcID As Long
Dim llngWinHwnd As Long
Dim llngRetVal As Long

llngProcID = Shell("c:\windows\system32\notepad.exe", vbNormalFocus)

If llngProcID <> 0 Then

llngWinHwnd = OpenProcess(SYNCHRONIZE, 0, llngProcID)
DoEvents
If llngWinHwnd <> 0 Then
llngRetVal = WaitForSingleObject(llngWinHwnd, INFINITE)
CloseHandle (llngWinHwnd)
End If
End If
MsgBox "Terminado"
End Sub

saludos.-
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