Visual Basic - Control de ejecución

Life is soft - evento anual de software empresarial
 
Vista:

Control de ejecución

Publicado por Valle (84 intervenciones) el 23/05/2001 08:49:37
Mi problema es el siguiente:

Desde mi programa hago una llamada a un programa bajo Windows mediante Shell.
Este pograma necesita configuración numérica americana (decimal con ".", miles ",")
mientras que el código VB necesita configuración española( (decimal con ",", miles ".")
por tanto cuando lo lanzo cambio la configuración numérica al PC.

Necesito saber una API para controlar si se está ejecutando el programa para que si se
pulsa alguna opción de VB no se ejecute (ya que la configuración no sería la correcta)

Gracias.
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 de ejecución

Publicado por BENJO (167 intervenciones) el 31/05/2001 00:57:00

Fijate si esto te sirve

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
Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400

Sub Shell32(ByVal Appli As String)

' aquí poné el código para cambiar la configuración numérica

Dim hProcess As Long
Dim RetVal As Long

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(Appli, 1)) ' acá ejecutás tu aplicación y se tome el Id del
' proceso

Do

' Se fija el estado del proceso
GetExitCodeProcess hProcess, RetVal

' Devuelve por un milisegundo el control al sistema, para que no
'se cuelgue
DoEvents: Sleep 100

' Repite el Bucle hasta que el prograam esté inactivo
Loop While RetVal = STILL_ACTIVE
' si sale es porque ya no está ejecutándose la aplicación que levantaste
con el Shell.

' aquí poné el código para restaurar la configuración numérica

End Sub

Si tenés algún inconveniente, no dudes en enviarme un email

Saludos de Buenos Aires.
Mucha Suerte

BENJO
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

RE:Control de ejecución

Publicado por Valle (84 intervenciones) el 06/06/2001 10:09:11
Gracias por la función me has salvado la vida.

Anteriormente me habian pasado la misma función pero existía un error en la declaración de una de las funciones de kernell32
por lo que la función no funcionaba, así que cada vez que alguien me respondía y veía la misma función ni siquiera la probaba.
Pero ante la insistencia de la respuesta, supongo que todos no pueden estar equivocados así que tomé la función que tú me
pasastes y BINGO funciona
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