您目前已離線,請等候您的網際網路重新連線

如何停用切換 Win32 平台上的工作

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:226359
結論
本文將告訴您,如何停用工作切換和按鍵的組合,例如 CTRL + ESC 鍵和 ALT + TAB 鍵在 Win32 平台上透過存取其他系統函式。

Windows 95 與 Windows 98

應用程式可以啟用和停用 ALT + TAB 鍵和 CTRL + ESC 鍵,例如藉由呼叫 SystemParametersInfo (SPI_SETSCREENSAVERRUNNING)。若要停用 ALT + TAB 鍵和 CTRL + ESC 鍵,將 uiParam 參數設定為 TRUE ; 要啟用按鍵組合,請將參數設定為 FALSE
UINT nPreviousState;// Disables task switchingSystemParametersInfo (SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);// Enables task switchingSystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);				
附註 使用 SystemParametersInfo SPI_SETSCREENSAVERRUNNING 停用工作切換的應用程式必須啟用切換離開之前的任務或工作切換仍在處理序結束後,停用。

3 和更新版本的 Windows NT 4.0 的 Service Pack 和 Windows 2000

應用程式可以停用 ALT + TAB 或 CTRL + ESC 安裝低階鍵盤勾點。藉由呼叫 SetWindowsHookEx 安裝低階鍵盤勾點 (WH_KEYBOARD_LL)。在視窗勾點上的更多資訊請參閱攔截 」 概觀平台 SDK 文件中。

下列是停用 CTRL + ESC 鍵、 ALT + TAB 鍵和 ALT + ESC 一個範例低階鍵盤勾點程序:
LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam){    // By returning a non-zero value from the hook procedure, the    // message does not get passed to the target window    KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;    BOOL bControlKeyDown = 0;    switch (nCode)    {        case HC_ACTION:        {            // Check to see if the CTRL key is pressed            bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);                        // Disable CTRL+ESC            if (pkbhs->vkCode == VK_ESCAPE && bControlKeyDown)                return 1;            // Disable ALT+TAB            if (pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN)                return 1;            // Disable ALT+ESC            if (pkbhs->vkCode == VK_ESCAPE && pkbhs->flags & LLKHF_ALTDOWN)                return 1;            break;        }        default:            break;    }    return CallNextHookEx (hHook, nCode, wParam, lParam);}				

2 或更早的 Windows NT 4.0 的 Service Pack、 Windows NT 3.51 或更早

應用程式可以停 CTRL + ESC 全系統用來取代 Windows NT 工作管理員,但不建議這樣做。

應用程式時,可以停用 ALT + TAB 鍵和 ALT + ESC 應用程式執行由藉由呼叫 RegisterHotKey 註冊快速鍵 ALT + TAB 鍵和 ALT + ESC 鍵組合。
其他相關資訊
較舊的開發工具例如 Microsoft Visual C++ 版本 5.0 或更早版本,可能不包含建置使用低階鍵盤攔截程序的應用程式所需的標頭檔。若要取得最新的標頭檔,下載最新的平台 SDK 從下列 Microsoft 網站: 因為低階鍵盤攔截程序是一項功能特定的 Windows NT 4.0 Service Pack 3 和更新版本,定義 _WIN32_WINNT > = 0x0400 之前要包括 winuser.h (或 windows.h)。
SystemParametersInfo SetWindowsHookEx 攔截 SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING WH_KEYBOARD_LL

警告:本文為自動翻譯

內容

文章識別碼:226359 - 最後檢閱時間:11/21/2006 15:44:45 - 修訂: 4.3

Microsoft Win32 Application Programming Interface

  • kbmt kbhook kbhowto kbinput KB226359 KbMtzh
意見反應