반응형
void AllowAccessibilityShortcutKeys( bool isAllowKeys ) { if( isAllowKeys ) { // Restore StickyKeys/etc to original state and enable Windows key STICKYKEYS sk = g_StartupStickyKeys; TOGGLEKEYS tk = g_StartupToggleKeys; FILTERKEYS fk = g_StartupFilterKeys; SystemParametersInfo(SPI_SETSTICKYKEYS, sizeof(STICKYKEYS), &g_StartupStickyKeys, 0); SystemParametersInfo(SPI_SETTOGGLEKEYS, sizeof(TOGGLEKEYS), &g_StartupToggleKeys, 0); SystemParametersInfo(SPI_SETFILTERKEYS, sizeof(FILTERKEYS), &g_StartupFilterKeys, 0); } else { // Disable StickyKeys/etc shortcuts but if the accessibility feature is on, // then leave the settings alone as its probably being usefully used STICKYKEYS skOff = g_StartupStickyKeys; if( (skOff.dwFlags & SKF_STICKYKEYSON) == 0 ) { // Disable the hotkey and the confirmation skOff.dwFlags &= ~SKF_HOTKEYACTIVE; skOff.dwFlags &= ~SKF_CONFIRMHOTKEY; SystemParametersInfo(SPI_SETSTICKYKEYS, sizeof(STICKYKEYS), &skOff, 0); } TOGGLEKEYS tkOff = g_StartupToggleKeys; if( (tkOff.dwFlags & TKF_TOGGLEKEYSON) == 0 ) { // Disable the hotkey and the confirmation tkOff.dwFlags &= ~TKF_HOTKEYACTIVE; tkOff.dwFlags &= ~TKF_CONFIRMHOTKEY; SystemParametersInfo(SPI_SETTOGGLEKEYS, sizeof(TOGGLEKEYS), &tkOff, 0); } FILTERKEYS fkOff = g_StartupFilterKeys; if( (fkOff.dwFlags & FKF_FILTERKEYSON) == 0 ) { // Disable the hotkey and the confirmation fkOff.dwFlags &= ~FKF_HOTKEYACTIVE; fkOff.dwFlags &= ~FKF_CONFIRMHOTKEY; SystemParametersInfo(SPI_SETFILTERKEYS, sizeof(FILTERKEYS), &fkOff, 0); } } }
from DirectX Document
반응형
'Game Dev > Article' 카테고리의 다른 글
가변 인수 전달 (0) | 2008.07.22 |
---|---|
Shell Command List (0) | 2008.07.22 |
특수 폴더 경로 알아내기 (0) | 2008.07.22 |
Locale 설정 (0) | 2008.07.22 |