FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
No pemitir que se ejecute una aplicación
Hola a todo el mundo, lo que quiero lograr con mi programa es no permitir que se ejecute un programa determinado como por ejemplo el Internet Explorer. Si un usuario quiere hacerle doble click al ícino del IE para ejecutarlo, que aparezca un cartel que le diga que está deshabilitado o algo por el estilo pero lo cuestión es que no lo ejecuten.
Estube buscando en los foros pero no encontré nada, si hay algo y que está con otro nombre les pido disculpas de antemano y les agradezco por su ayuda. |
#2
|
||||
|
||||
Un truco sucio puede ser, renombar el ejecutable correspondiente al programa en cuestión sustituirlo por otro con el mismo nombre pero hecho por nosotros en Delphi, en este se hallaría el mensaje oportuno.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Tampoco es que sea nada muy académico, pero sólo se me ocurre un proceso (app. o servicio) que cada X tiempo revise los procesos que existen ejecutandose y "mate" los que tengas marcados como no disponibles o prohibidos. Pero tampoco acabo de verlo claro...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
El problema con estas opciones es que de todas las aplicaciones posibles, el IE es quiza lo más difícil pues, aun impidiendo que se abra el IE nada impide teclar una dirección en el Explorer para ver una página así que habría que bloquear tambien éste.
No estoy seguro pero me parece que hay políticas de grupo que sirven para impedir el acceso a Internet. Habría que buscar... // Saludo |
#5
|
|||
|
|||
vuelvo a lo mismo
Hola, gracias por responder, se que es difícil pero lo que necesito es más o menos como hacer por código que no se abra el Internet Explorer.
__________________
David Barraud Licenciado en Sistemas |
#6
|
|||
|
|||
Se me acaba de ocurrir algo
Cita:
Lo que se me acaba de ocurrir es lo siguiente: Si uno posee un proxi para conectarse a Internet, hay que habilitar en las opciones del Internet Explorer la opcion de poder conectarse a Internet por medio de un proxi (Herramientas/Opciones de Internet/Conexiones/Configuración Lan/...). En mi caso, si no le coloco el nombre del proxi y el puerto no se puede navegar por Internet. Creo que esta es la mejor solución. Ahora lo que tenemos que hacer es conseguir por medio de código como deshabilitar y habilitar el servidor proxy. Ahí es donde ustedes me pueden ayudar. Se que son unos genios porque siempre obtengo las respuestas en este foro. Muchas gracias de antemano... |
#7
|
|||
|
|||
Cita:
|
#8
|
|||
|
|||
Ya conseguí solucionar mi problema
Hola a todos, lo que pude hacer para que no funcione el Internet Explorer diría que no es muy profesional pero funciona.
Lo que yo deseaba era que no se ejecute directamente el Internet Explorer pero en vista de que no me pudieron ayudar a solucionar se me ocurrió que si deshabilitaba el Proxy no se podría navegar. pude hacerlo y acá les paso el código por las dudas que alguien necesite algo por el estilo colocar en el USES la palabra Registry Código:
procedure Tform1.DeshabilitaProxy(bandera: Boolean); var reg: TRegistry; begin reg := TRegistry.Create; //crea el registro reg.RootKey := HKEY_CURRENT_USER; //nos situa en esta clave reg.OpenKey('Software', True); reg.OpenKey('Microsoft', True); reg.OpenKey('Windows', True); reg.OpenKey('CurrentVersion', True); reg.OpenKey('Internet Settings', True); if bandera = True then begin reg.WriteString('ProxyServer', 'proxi:1'); //Cambia el nombre del proxy end else if bandera = False then begin reg.WriteString('ProxyServer', 'nombredelproxy:número'); //habilita Proxy end; reg.CloseKey; //cierra el registro end; DeshabilitarProxy(true); //deshabilitamos el proxy del navegador. DeshabilitarProxy(false); //volvemos a colocar el proxy al navegador. Aclaración: esto les va a servir si se conectan a Internet por medio de un proxy, a mi me funcionó pero puede ser que haya casos donde no funcione. |
#9
|
|||
|
|||
Hola,
Apoyo la idea de una suerte de "guardian" de apps., puesto que te permite no sólo bloquear al IE sino a las apps. que vos definas. En Internet hay un par de ejemplos en Delphi para ver los procesos activos de Window$, matarlos, etc. Sería cuestión de adaptarlos un poco a tus necesidades. Eso es todo.
__________________
Suerte .: Gydba :. |
#10
|
|||
|
|||
No permitir ejecutar aplicaciones
Yo utilizo este codigo y me ha servido al 100%
me pongo un TTimer con el tiempo a 1 o 3 segundos dependiendo cada cuanto tiempo quieres checar,
|
#11
|
|||
|
|||
Re: No permitir ejecutar aplicaciones
Necesito una funcion parecida acerrar aplicaciones en la Pc Local solo que yo la necesito que funcione en la Red, cada determinado tiempo checar si la maquina puede trabajar con 'X' Programa de no ser ASI CERRARLO desde una PC GUardian.
Gracias. |
#12
|
|||
|
|||
Nombre de las aplicaciones
hola a todos, esta aplicación me ha resultado muy util, queria preguntarles de donde salen los nombres de las aplicaciones, ya que no es el mismo nombre que el ejecutable.
Gracias |
#13
|
|||
|
|||
Cerrar programas
Estas son las funciones que utilizo para obtener el nombre de las Clases y Titulos de las ventanas de todas las aplicaciones que se esten ejecutando en Windows, esta hecha en Borland C++, perdon pero es que antes programaba casi todo en C++, muy pco el delphi, pero no deberias de tener el mayor problema para transcribir al Delphi.
Te creas una nueva aplicacion en delphi, agregas 2 TMemo una que diga clases y otra que diga titulos y un boton // Evento dle boton void __fastcall TmainForm::btnEnumClick(TObject *Sender) { titulos->Items->Clear(); clases->Items->Clear(); EnumWindows((WNDENUMPROC)GetWinHandleAll, NULL); } //--------------------------------------------------------------------------- bool __stdcall GetWinHandleAll(HWND hWnd, long hproc) { mainForm->ProcessHandleInformation(hWnd); if(hWnd != NULL) return true; return false; } void __fastcall TmainForm::ProcessHandleInformation(HWND h_window) { char classname[80]; char windowtitle[80]; // Obtener los valores de Titulo y clase de la ventana o proceso GetWindowText(h_window, windowtitle, 80); GetClassName(h_window, classname, 80); //Agregalos a los TMemos titulos->Items->Add(windowtitle); clases->Items->Add(classname); } //--------------------------------------------------------------------------- //Cuando se seleccione un item de titulos seleccione tambien el nombre de la clase para saber cual es exactamente void __fastcall TmainForm::titulosClick(TObject *Sender) { clases->ItemIndex = titulos->ItemIndex; } //--------------------------------------------------------------------------- //Si se selecciona la clase saber el titulo de la ventana void __fastcall TmainForm::clasesClick(TObject *Sender) { titulos->ItemIndex = clases->ItemIndex ; } //------------------------------------------------------------------------- Hay un libro en pdf que te dice como hacerlo en delphi no recuerdo el nombre. |
|
|
|