Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Bloquear click derecho (https://www.clubdelphi.com/foros/showthread.php?t=35460)

miguel_e 11-09-2006 22:18:55

Bloquear click derecho
 
Hola, necesito que se ignoren o se bloquen todos los click derechos que de el usuario, desde un servicio window, alguien ha visto algo que se pueda utilizar, muchas gracias desde ahora...

salu2
miguel_e

jachguate 11-09-2006 23:35:19

¿desde un servicio window? ¿que es eso?

seoane 11-09-2006 23:51:01

Cita:

Empezado por jachguate
¿desde un servicio window? ¿que es eso?

Supongo que se refiere a un servicio, service , daemon, etc... o la que mas me gusta demonio :D . En serio, supongo que la finalidad de incrustar esto en un servicio es que el usuario no lo pueda parar, pero para que el servicio pueda capturar el ratón (con hooks y demás) tiene que permitirsele interactuar con el escritorio, y teniendo en cuenta que esta característica va a desaparecer en el nuevo Vista ¿vale la pena empezar una aplicación apoyándose en una característica obsoleta?

:p Vaya rollo que acabo de soltar. De todas formas si sigues interesado, busca información sobre hooks aquí mismo en el foro, solamente tienes que interrumpir la cadena para que el click no llegue a su destino.

roman 12-09-2006 00:03:37

¿Y para qué querría alguien inhabilitar el clik derecho? En todo caso, podría ponerle pegamento. O bien usar una Mac, ahí los ratones sólo tienen un boton :D

// Saludos

Caral 12-09-2006 00:18:41

Seria Interesante que miguel_e nos dijera las razones de tal motivo.:confused:
Asi por lo menos o salimos de la duda o aprendemos algun uso desconocido, hay que dar el veneficio de la duda.:D :D
Saludos

miguel_e 12-09-2006 15:35:22

hola, bueno la pregunta es para una aplicacion para Cybercafes, y necesito en las estaciones clientes que no deje dar click derecho, fuera de eso yo tampoco le veo mucha utilidad.

en cuanto a lo de empezar la aplicacion con una caracteristica obsoleta, ya esta hecha y vendida, por eso necesito, esa ayuda.

salu2
miguel_e

roman 12-09-2006 15:41:44

Inhabilitar el click derecho es demasiado. Quitarías muchísima funcionalidad. Quizá estés pensando en inhabilitarlo para bloquear alguna característica en particular y quizá sea más sencillo y lógico esto último. Si nos cuentas más, quizá encontremos una solución.

// Saludos

dec 12-09-2006 15:47:21

Hola,

A mí se me viene a la cabeza que las opciones a las que da acceso el "botón derecho del ratón" en no pocas ocasiones están disponibles por otros medios, véase el teclado, por ejemplo. Así que me queda la duda de saber de qué estamos tratando, exactamente, porque, "en general", ya digo que si no es con el botón derecho del ratón... será con otra cosa, pero, seguramente puedan llevarse a cabo no pocas tareas de las que se quieren impedir, parece ser. ¿No? ;)

seoane 12-09-2006 16:06:57

Antes de nada estoy de acuerdo con dec y roman, que bloquear el botón derecho del ratón es una medida desproporcionada y poco eficaz, dependiendo del propósito que queramos conseguir. Pero también es verdad que no somos quien para decirte como hacer las cosas, así que si quieres bloquear el botón derecho, podemos intentarlo.

Partimos de la excelente unit de roman para bloquear teclas. Recortamos y pegamos por aquí y por allá y nos quedaría algo como esto:

Código Delphi [-]
unit Hooks;

interface

procedure SetHook;
procedure ReleaseHook;

implementation

uses Windows, Messages;

const
  WH_MOUSE_LL = 14;

var
  Hook: HHook;

function MouseProc(Code: Integer; WParam, LParam: DWORD): HHook; stdcall;
begin
  if Code = HC_ACTION then
  begin
    if (WParam = WM_RBUTTONDOWN) or (WParam = WM_RBUTTONUP) then
    begin
      Result:= 1;
      Exit;
    end;
  end;
  Result := CallNextHookEx(Hook, Code, WParam, LParam);
end;

procedure SetHook;
begin
  Hook := SetWindowsHookEx(WH_MOUSE_LL, @MouseProc, HInstance, 0);
end;

procedure ReleaseHook;
begin
  if Hook <> 0 then UnhookWindowsHookEx(Hook);
end;

initialization
  Hook := 0;

finalization
  ReleaseHook;
end.

De todas formas, ¿que es lo que quieres conseguir?. Posiblemente exista una solucion mejor ...

miguel_e 12-09-2006 16:34:34

Bueno, como les decia es para una aplicacion de Cybercafes, nuestro cliente queria que se le aplicaran una serie de restricciones a las estaciones clientes, entre eso estan acceso a discos duros, al explorer, tecla window, etc, una de ellas es el bloqueo de la del click por que este puede llevar a otras acciones que permitan vulnerar la aplicacion, creo que esa ha sido la mayor razon para bloquear el click derecho.

En realidad este se bloquea solo en un momento o proceso en que los click derecho si pueden llevar a burlar el sistema, esa es la razon, para el uso normal de la maquina no esta desahabilitado, pero si me hacia falta hacerlo es ese caso, aparte de eso no se que mas decirles

salu2
miguel_e

roman 12-09-2006 17:02:29

En realidad no es que queramos decirle como hacer las cosas. Más bien es lo que describe dec. El método que miguel_e pretende, muy posiblemente no le va a servir, y la intención es señalarle este punto para que, en dado caso, podamos ayudarle con algo más. Pero ciertamente, ningún código sobra, así que bienvenido.

// Saludos

vtdeleon 12-09-2006 17:07:57

Hmm, no se, pero no es mas facil establecer politicas de seguridad en las terminales, restringiendo algunos servicios.... (si es posible)

Saludos


La franja horaria es GMT +2. Ahora son las 07:42:43.

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