Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2004
barrauda barrauda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Balcarce - Buenos Aires
Posts: 42
Poder: 0
barrauda Va por buen camino
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;
Luego llamanos al procedimiento desde un botón por ejemplo y le ponemos el valos true o False de acuerdo a lo que queremos hacer:

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.
Responder Con Cita
  #2  
Antiguo 30-12-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 23
Gydba Va por buen camino
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 :.
Responder Con Cita
  #3  
Antiguo 31-12-2004
Aztaroth Aztaroth is offline
Miembro
 
Registrado: dic 2003
Ubicación: Matamoros
Posts: 52
Poder: 23
Aztaroth Va por buen camino
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,

Código Delphi [-]
procedure TForm1.DestruyeVentana(clase, nombre: String);
var
   handle : THandle;

begin
   if( clase <> '') then
      handle := FindWindow(PChar(clase), nil)
   else
      handle := FindWindow(nil, PChar(nombre));


   if handle <> 0 then
      SendMessage(handle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   DestruyeVentana('IEFRAME', ''); //Internet Explorer
   DestruyeVentana('MSBLClass', ''); 
   DestruyeVentana('WMPlayerApp', '');
   DestruyeVentana('Media Player 2', '');
   DestruyeVentana('MMFRAME_MAIN', '');
   DestruyeVentana('FreeWClass', '');
   DestruyeVentana('Minesweeper', '');
   DestruyeVentana('Solitaire', '');
   DestruyeVentana('Buscaminas', '');


end;
Responder Con Cita
  #4  
Antiguo 07-02-2005
spider_Ramon spider_Ramon is offline
Miembro
 
Registrado: feb 2005
Posts: 26
Poder: 0
spider_Ramon Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 18-11-2005
Mariana Mariana is offline
Miembro
 
Registrado: sep 2003
Posts: 50
Poder: 23
Mariana Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 18-11-2005
Aztaroth Aztaroth is offline
Miembro
 
Registrado: dic 2003
Ubicación: Matamoros
Posts: 52
Poder: 23
Aztaroth Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:33:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi