Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   stickykeys (https://www.clubdelphi.com/foros/showthread.php?t=30609)

OscarG 11-04-2006 15:27:21

stickykeys
 
Hola...esta pregunta, la pregunté hace un mes o asi, pero desapareció...¿?¿?

Mi problema era activar y desactivar las stickykeys desde código y estuve mirando en el foro y no encontré nada.

Bueno, encontré la solución y quería ponerla para aportar, q no siempre va a ser preguntar...

Aquí, miraría si lo tiene activado y lo desactiva
Código Delphi [-]
//variable global para saber si lo tiene activado o no.
  stikykeys:=       0;
  stike.cbSize:=   SizeOf(TStickyKeys);
  stike.dwFlags:= 0;
  if ( SystemParametersInfo( SPI_GETSTICKYKEYS, SizeOf(TStickyKeys), @stike, 0 ) ) then
  begin
    if ( stike.dwFlags and ( SKF_STICKYKEYSON or SKF_HOTKEYACTIVE ) > 0 ) then
    begin
      if ( ( stike.dwFlags and SKF_STICKYKEYSON ) > 0 ) then
        stikykeys:= 1;
      if ( ( stike.dwFlags and SKF_HOTKEYACTIVE ) > 0 ) then
        stikykeys:= stikykeys or 2;
      stike.dwFlags:= stike.dwFlags and not(SKF_STICKYKEYSON or SKF_HOTKEYACTIVE) ;
      SystemParametersInfo( SPI_SETSTICKYKEYS, SizeOf(TStickyKeys), @stike, 0 );
    end;
  end;



Aqui mira si antes lo tenía activado y si es asi, lo desactiva...
Código Delphi [-]
  if ( stikykeys > 0 ) then
  begin
    if ( ( stikykeys and 1 ) > 0 ) then
      stike.dwFlags:= stike.dwFlags or SKF_STICKYKEYSON;
    if ( ( stikykeys and 2 ) > 0 ) then
      stike.dwFlags:= stike.dwFlags or SKF_HOTKEYACTIVE;
      
    SystemParametersInfo( SPI_SETSTICKYKEYS, SizeOf(TStickyKeys), @stike, 0 );
  end;

Espero q le sirva a alguien de ayuda. Aparte de esto, se podría hacer más cosas de accesibilidad por ejemplo mirando en la ayuda de msdn y viendo las distintas opciones.


La franja horaria es GMT +2. Ahora son las 08:13:27.

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