La Web del Programador: Comunidad de Programadores
 
    Pregunta:  34386 - COMO BLOQUEAR LA EJECUCIÓN DE UNA APLICACIÓN
Autor:  MIGUEL ANGEL TOVAR
Alguien sabe si exite una rutina o una función de la api de windows que me permita restringir la ejecuión de una aplicación en particular.

Gracias

  Respuesta:  Juan Carlos Zuñiga Rodriguez
Tal vez exista alguna API para hacer lo que quieres, otra forma de lograrlo es buscando la aplicacion y si esta abierta entonces cerrarla o bloquearla, esta funcion se utiliza para buscar aplicaciones abiertas:

La puedes usar asi:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Const IExplorer = "IEFrame"
resultado = FindWindow(IExplorer, vbNullString)

Este codigo busca la aplicacion de Internet Explorer y si se encuentra abierta devuelve como resultado la Hwnd.

Con esta otra funcion podrias bloquear la aplicacion encontrada:

Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long

EnableWindow resultado, False

Ademas, requieres saber el nombre de la clase de la aplicacion que quieres bloquear, aqui algunos ejemplos:

Const Word = "OpusApp"
Const Excel = "XLMAIN"
onst IExplorer = "IEFrame"
Const MSVBasic = "wndclass_desked_gsk"
Const NotePad = "Notepad"
Const Explore = "ExploreWClass"
Const Mipc = "CabinetWClass"
Const Msdos = "tty"

Espero esto te sirva de algo...

Saludos..