Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2003
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 21
diegofhernando Va por buen camino
Inactivar el menú inicio

Que tal amigos del foro...

Hoy me la he pasado 8 horas y 45 tratando de encontrar el código o algún componente que me permita inactivar el menu inicio de windows incluyendo 2000 y XP. pero solo encuentro trucos para win9x... . Lo peor es que de esta función depende la venta de mi aplicación (Bastante frustrante no??? ). Agradecería que me indicaran algun componente o código que me permita hacer esto... hasta donde he podido darme cuenta no es necesario el uso de una DLL...

Gracias por la ayuda que me puedan prestar.

Salu2.
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #2  
Antiguo 05-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Yo tambien la he hecho de detective y nada...
Tambien buscó la solucion a ese problema, pero todavia sin resultados.

Aunke tengo esta interrogante, ¿ya has desactivado la opción de ALT+TAB en el Win 2000/XP?

Hasta este momento solo puedo desactivar el CTRL+ALT+SUPR.
__________________
Guía de Estilo.
Responder Con Cita
  #3  
Antiguo 05-07-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hola:

Extraido de trucomania :

Oculta el boton inicio y lo hace aparecer, PROBADO EN WINXP y supongo que en windows 98 tambien funcionará.

Si quieres ocultar los iconos del escritorio, lo puedes hacer en windows sin tocar nada por programacion,

procedure TForm1.Button1Click(Sender: TObject);
begin
{Hacer desaparecer el boton}
{Hide the Button}
ShowWindow (
FindWindowEx(FindWindow(
'Shell_TrayWnd',
nil),
0,
'Button',
nil)
,SW_Hide);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
{Mostrar el boton}
{Show the button}
ShowWindow (
FindWindowEx(FindWindow(
'Shell_TrayWnd',
nil),
0,
'Button',
nil)
,SW_ShowNormal);
end;
Responder Con Cita
  #4  
Antiguo 05-07-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Reholas

Si lo que deseas es ocultar ciertas opciones del menu de windows, unicamente haz una busqueda de los elementos que quieres ocultar y ponle el atributo de oculto en la carpeta c:\Documents and settings de windows XP o 2000, todo lo que pongas oculto no saldrá en el menu de windows.

Puede que te sea mas comodo hacerlo al revés, ocultar todo y solo mostrar lo que tu quieras, mientras no sea el panel de control y cosas así es facil hacerlo.

o bien lo haces manualmente, o por programación. la unidad NKFiles distribuidas con las RXLibs tienen rutinas para encontrar archivos siguiendo un patrón :

// Devuelve una lista con todos los ficheros de un directorio que se ajustan
// a la máscara cMask, con unos atributos dados, si lRecursive vale True,
// busca también en los subdirectorios, en los subdirectorios de los
// subdirectorios, etc.
// Devuelve False si el directorio no existe.
function FindFilesInDir(const cDir:String; cMask: TStrings; iAttr: Integer; lRecur: Boolean; S: TStringList): Boolean;

¿te sirve algo de todo esto?
Responder Con Cita
  #5  
Antiguo 05-07-2003
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 21
diegofhernando Va por buen camino
Gracias por sus respuestas...

La verdad es que solo con ocultar el boton del inicio no basta puesto que si presionas la tecla Windows el aparece como si nada. Me llama la atención el echo de ocultar elementos del mismo pero con lo que me indican no se me ocurre, si no es molestia agradecería un ejemplillo ...

Gracias de nuevo y MADMAN podrías compartirme como inhabilitar CTRL + ALT + SUPR en 2000 y XP?

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #6  
Antiguo 05-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Como comentas el solo esconder el menu inicio no lo desactiva si mandas llamarlo desde el teclado.

Aki esta el codigo, sobre lo de CTRL+ALT+SUPR:
Código:
unit SafeMode;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, ComCtrls, ExtCtrls, StdCtrls, ShellApi, Registry;

  procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
  procedure Espabila(var Msg : TMessage); message WM_USER+1;
  procedure NiTeMenees(var m: TWMWINDOWPOSCHANGED); message WM_WINDOWPOSCHANGING ;
  procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;

implementation

var
        ncont:integer;


function RegisterServiceProcess(dwProcessID, dwType: DWord) : DWord;
stdcall; external 'KERNEL32.DLL';

//------------------------------------------------------------------------------
{Desactiva el TaskManager}
//------------------------------------------------------------------------------
procedure DisableTaskMgr(bTF: Boolean);
var
reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CURRENT_USER;

  reg.OpenKey('Software', True);
  reg.OpenKey('Microsoft', True);
  reg.OpenKey('Windows', True);
  reg.OpenKey('CurrentVersion', True);
  reg.OpenKey('Policies', True);
  reg.OpenKey('System', True);

if bTF = True then
  begin
    reg.WriteString('DisableTaskMgr', '1');
  end
else if bTF = False then
  begin
    reg.DeleteValue('DisableTaskMgr');
  end;
reg.CloseKey;
end;
//------------------------------------------------------------------------------
end.

{Ejemplo de como llamarla}
    DisableTaskMgr(True); //DEsactiva el Administrador de Tareas.
Pues aki lo tienes, espero y sea de tu ayuda.

Como favor te pido que si tu tambien puedes compartirme el codigo para blockear el ALT+TAB para Win 2000/XP. Porque a lo que leo solo te faltaba el codigo anterior para vender tu aplicación.

Saludos!
__________________
Guía de Estilo.

Última edición por madman fecha: 05-07-2003 a las 19:49:04.
Responder Con Cita
  #7  
Antiguo 06-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Aquí les pongo algo que me parece puede servirles.

No parece haber una opción en Win2000 parra deshabilitar por completo el menú de inicio; sin embargo se pueden deshabiltar una a una sus opciones, por ejemplo, el panel de control, la configuración de la barra de tareas, el comando "Apagar", el comando "Ejecutar" etc.

Tal como hace Madman, lo que hay que hacer es agregar las entradas correspondientes en

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

El truco está en saber cuáles son las entradas. Para ello abran "Ejecutar" del menú inicio y ejecuten gpedit.msc para abrir la ventana de "Directivas de grupo". En esta ventana, en el árbol de la izquierda hay un rubro "Plantillas administrativas" que, entre otras, tiene las opciones "Menú inicio y barra de tareas" y "Panel de control". A la derecha les aparecerán todas las directivas que pueden controlar. En cada opción hacen "doble click" para ver sus propiedades en donde pueden habilitar o deshabilitar la opcón y en la segunda pestaña ver una explicación de lo que hace la opción.

El siguiente paso sería abrir RegEdit parra ver cuáles son las entradas que se agregan al registro para cada opción y así saber como configurarlas por código.

Espero que les sea útil. No pongo exactamente las directivas ya que son muchas pero no les costará trabajo averiguar cuáles son las que necesitan.

// Saludos
Responder Con Cita
  #8  
Antiguo 06-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una aclaración:

El rubro "Plantillas administrativas" que menciono es el que se encuentra en "Configuración de usuario", no el que se encuentra en "Configuración del equipo"


// Saludos
Responder Con Cita
  #9  
Antiguo 07-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Muchas gracias roman, verificare y analizare los datos que nos proporcionas.

Y daré los resultados a conocer, si alguien termina antes que yo por favor haganoslo saber
__________________
Guía de Estilo.
Responder Con Cita
  #10  
Antiguo 08-07-2003
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 21
diegofhernando Va por buen camino
Hola MADMAN, pues lo cierto es que no tengo código para desactivar ALT + TAB... , y según veo tu el tuyo declaras la función para registrar servicios en la DLL Kernel32... no estoy seguro de que funcione en 2000 y XP puesto que tengo entendido que esta función ya no se encuentra alli... te agradecería que me confirmaras si ya la has probado en estas plataformas...

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #11  
Antiguo 08-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Pues por eso lo puse.
Porque a mi si me ha funcionado.

Lo que hace este codigo es desactivar el Administrador de Tareas (el cual te muestra todos los programas abiertos y cerrarlos si quieren). Ya que he probado este codigo en Win2000 y cuando se presionan las 3 teclas te aparece la ventana con las opciones de Blockear, Cerrar Sesión, Apagar, Cambiar Password, y la del Administrador de Tareas desactivado.
Igual si vas a la barra de tareas y presionas boton derecho.

Lo que no le permite al usuario Cerrar las aplicaciones.

Y por cierto si no desactivas el ALT+TAB los usuarios van a poder cambiar de ventana, cambiando de aplicaciones. Aunke la verdad no se como estes blockeando la computadora, si colocando un form que abarke toda la pantalla para ke el usuario no vea nada, o tan solo este en la barra de sistema.
__________________
Guía de Estilo.
Responder Con Cita
  #12  
Antiguo 09-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Hola!

He buscado en google y me he encontrado lo siguiente, para los interesados:

El codigo que muestran está en VB y viene algo referente a C++:
Deshabilitar Alt+Tab en Windows XP

Pero este si está en Delphi y nos explica varias cosas:
"The Big Brother" Delphi code toolkit

El demo que viene en un link (dWinLock) si funciona activa y desactiva todas las teclas funcionales de windows y alguna que otra cosilla más.
__________________
Guía de Estilo.

Última edición por madman fecha: 09-07-2003 a las 06:17:50.
Responder Con Cita
  #13  
Antiguo 11-07-2003
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 21
diegofhernando Va por buen camino
El dWinlock funciona bien el problema es que no es FREE y el segundo es que funciona con una DLL...
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #14  
Antiguo 11-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
El que no sea FREE no quiere decir que es un GRAN problema, 69€ (no se cuanto valdrá cada € aqui en México).

Pero si voy a vender una aplicación, realmente creo que valdría la pena comprarlo.

Ya que con este componente te aseguras que tu aplicación es realmente "bueno". Aunke depende tambien de las demas caracteristicas que tenga.

Pero si existe código o componente FREE, pues es bien recibido
__________________
Guía de Estilo.
Responder Con Cita
  #15  
Antiguo 11-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por madman
El que no sea FREE no quiere decir que es un GRAN problema, 69€ (no se cuanto valdrá cada € aqui en México).

...

Pero si existe código o componente FREE, pues es bien recibido
Pues según mi agente 69€ son casi $900 pesos mexicanos y para ser sincero yo no pago esa cantidad por bloquear unas cuantas teclas, mejor tomo un martillo e inhabilito yo mismo las teclas y gratis .

Ahora que, si al cliente esto le parece un poco excesivo pues escribo el código yo mismo. En las ligas que pusiste anteriormente está toda la información para hacerlo, ¿ya qué le buscan? Tienen que utilizar "Hooks". En la referencia del Api de Windows explica además que este tipo de "hooks" deben implementarse en un dll, de ahí que dWinLock utilice un dll. Sin embargo, en la primera referencia que das, aunque no la he revisado a conciencia, explica como anexar el dll como un recurso de nuestra aplicación para no tener que distribuir un archivo extra.

// Saludos
Responder Con Cita
  #16  
Antiguo 11-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 21
andres1569 Va por buen camino
Román escribió:
Cita:
... mejor tomo un martillo e inhabilito yo mismo las teclas y gratis
Bueno, bueno, bueno, te recuerdo Román que en estos foros se trata de buscar soluciones software, no soluciones hardware por muy respetable que sea la opción que propones.

Y ya que hablan de Hooks, este es un tema que tengo calentito de otro hilo, si ponen entre todos los suscritos a este hilo unos 100 € (unos 1300 pesos mexicanos), aprovecho este fin de semana para implementar algo, y la semana que viene les cuento. El código estaría sujeto a la especificación CDPL (Club Delphi Public License).
__________________
Guía de Estilo
Responder Con Cita
  #17  
Antiguo 11-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por andres1569
...Y ya que hablan de Hooks, este es un tema que tengo calentito de otro hilo...
¿Cuál es el hilo?

// Saludos
Responder Con Cita
  #18  
Antiguo 11-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 21
andres1569 Va por buen camino
Hola de nuevo:

Es el hilo nº 783,

o si lo prefieres puedes pinchar este enlace:

http://www.clubdelphi.com/foros/show...=&threadid=783
__________________
Guía de Estilo
Responder Con Cita
  #19  
Antiguo 15-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quienes deseen código gratuito para inhabilitar Alt+Tab, Alt+Esc, Ctrl+Esc, Alt+F4, Win y Apps en Windows2000 pueden tomarlo de mi página

// Saludos

Última edición por roman fecha: 04-11-2003 a las 20:13:17.
Responder Con Cita
  #20  
Antiguo 15-07-2003
Avatar de madman
madman madman is offline
Miembro
 
Registrado: may 2003
Ubicación: Nayarit, México
Posts: 242
Poder: 22
madman Va por buen camino
Thumbs up

Y yo que ya pague por el dWinLock

jejeje... no es cierto, pero si pudiera lo haria.

Pero el código que proporcionas roman, pues tambien lo he probado en mi computadora con Win2000 SP4 y si funciona .

Sería nada mas que alguien nos hiciera el favor de ejecutarlo en un Windows XP. Aunque creo que debe funcionar ya que ambos estan basados en tecnologia NT.
__________________
Guía de Estilo.
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 04:32:36.


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
Copyright 1996-2007 Club Delphi