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
[-]
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.