Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để vô hiệu hoá công việc chuyển đổi trên nền tảng Win32

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:226359
TÓM TẮT
Bài viết này mô tả làm thế nào để vô hiệu hoá nhiệm vụ chuyển mạch và các chức năng hệ thống truy cập thông qua các tổ hợp phím CTRL + ESC và ALT + TAB trên nền tảng Win32.

Windows 95 và Windows 98

Các ứng dụng có thể kích hoạt và vô hiệu hoá ALT + TAB và CTRL + ESC, ví dụ, bằng cách gọi SystemParametersInfo (SPI_SETSCREENSAVERRUNNING). Để vô hiệu hoá ALT + TAB và CTRL + ESC, đặt tham số uiParam thành SỰ THẬT; để cho phép các tổ hợp phím, thiết lập các thông số để SAI:
UINT nPreviousState;// Disables task switchingSystemParametersInfo (SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);// Enables task switchingSystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);				
Chú ý Các ứng dụng sử dụng SystemParametersInfo (SPI_SETSCREENSAVERRUNNING) để vô hiệu hoá nhiệm vụ chuyển mạch phải bật công việc chuyển đổi trước khi thoát hoặc công việc chuyển mạch vẫn bị vô hiệu hoá sau khi tiến trình chấm dứt.

Windows NT 4.0 Service Pack 3 và sau đó và Windows 2000

Các ứng dụng có thể vô hiệu hóa ALT + TAB hoặc CTRL + ESC bằng cách cài đặt một móc ở độ cao thấp bàn phím. Một móc ở độ cao thấp bàn phím (WH_KEYBOARD_LL) được cài đặt bằng cách gọi SetWindowsHookEx. Để biết thêm thông tin về cửa sổ móc xem tổng quan "Móc" trong các tài liệu nền tảng SDK.

Sau đây là một thủ tục móc ở độ cao thấp bàn phím mẫu đó vô hiệu hoá CTRL + ESC, ALT + TAB và 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);}				

Windows NT 4.0 Service Pack 2 và trước đó, Windows NT 3.51 và trước đó

Các ứng dụng có thể vô hiệu hoá CTRL + ESC toàn hệ thống bằng cách thay thế Windows NT Task Manager, nhưng điều này là không nên.

Các ứng dụng có thể tắt ALT + TAB và ALT + ESC khi ứng dụng đang chạy bằng cách đăng ký phím nóng cho ALT + TAB và tổ hợp ALT + ESC bằng cách gọi RegisterHotKey.
THÔNG TIN THÊM
Công cụ phát triển cũ hơn, chẳng hạn như Microsoft Visual C++ Phiên bản 5.0 và trước đó, có thể chứa tiêu đề các tập tin cần thiết để xây dựng một ứng dụng sử dụng bàn phím low-level móc. Để có được các tập tin tiêu đề mới nhất, tải SDK nền tảng mới nhất từ Microsoft Web site sau của:Bởi vì tầm thấp bàn phím móc là một tính năng đặc trưng cho Windows NT 4.0 Service Pack 3 và sau đó, xác định _WIN32_WINNT > = 0x0400 trước khi để bao gồm winuser.h (hay windows.h).
SystemParametersInfo SetWindowsHookEx móc SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING WH_KEYBOARD_LL

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 226359 - Xem lại Lần cuối: 08/21/2011 10:37:00 - Bản sửa đổi: 2.0

Microsoft Win32 Application Programming Interface

  • kbhook kbhowto kbinput kbmt KB226359 KbMtvi
Phản hồi