Cara menonaktifkan tugas menghidupkan Win32 platform

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 226359 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan cara menonaktifkan tugas beralih dan fungsi-fungsi sistem lain diakses melalui kombinasi tombol CTRL + ESC dan ALT + TAB pada platform Win32.

Windows 95 dan Windows 98

Aplikasi dapat mengaktifkan dan menonaktifkan ALT + TAB dan CTRL + ESC, misalnya, dengan menelepon SystemParametersInfo (SPI_SETSCREENSAVERRUNNING). Untuk menonaktifkan ALT + TAB dan CTRL + ESC, menetapkan uiParam parameter ke BENAR; untuk mengaktifkan kombinasi tombol, mengatur parameter PALSU:
UINT nPreviousState;

// Disables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0);

// Enables task switching
SystemParametersInfo (SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0);
				
Catatan Aplikasi yang menggunakan SystemParametersInfo (SPI_SETSCREENSAVERRUNNING) untuk menonaktifkan tugas beralih harus mengaktifkan tugas beralih sebelum keluar atau tugas beralih tetap dinonaktifkan setelah proses berakhir.

Windows NT 4.0 Service Pack 3 dan kemudian dan Windows 2000

Aplikasi dapat menonaktifkan ALT + TAB atau CTRL + ESC dengan menginstal kait keyboard tingkat rendah. Tingkat rendah keyboard kait (WH_KEYBOARD_LL) diinstal dengan menelepon SetWindowsHookEx. Untuk informasi lebih lanjut tentang jendela kait lihat ikhtisar "Kait" dalam dokumentasi Platform SDK.

Berikut ini adalah prosedur kait keyboard tingkat rendah sampel yang melumpuhkan CTRL + ESC, ALT + TAB, dan 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 dan sebelumnya, Windows NT 3.51 dan sebelumnya

Aplikasi dapat menonaktifkan CTRL + ESC sistem dengan mengganti Manajer Tugas Windows NT, tetapi hal ini tidak dianjurkan.

Aplikasi dapat menonaktifkan ALT + TAB dan ALT + ESC saat aplikasi berjalan dengan mendaftarkan hotkeys untuk ALT + TAB dan kombinasi ALT + ESC dengan menelepon RegisterHotKey.

INFORMASI LEBIH LANJUT

Alat-alat pengembangan yang lebih tua, seperti Microsoft Visual C++ versi 5.0 dan sebelumnya, mungkin tidak berisi file header yang diperlukan untuk membangun aplikasi yang menggunakan kait keyboard tingkat rendah. Untuk mendapatkan file header terbaru, download terbaru Platform SDK dari Website Microsoft berikut:
http://www.Microsoft.com/msdownload/platformsdk/sdkupdate/psdk-Full.htm
Karena tingkat rendah keyboard kait fitur khusus untuk Windows NT 4.0 Service Pack 3 dan kemudian, mendefinisikan _WIN32_WINNT mengatakan = 0x0400 sebelum untuk termasuk winuser.h (atau windows.h).

Properti

ID Artikel: 226359 - Kajian Terakhir: 23 September 2011 - Revisi: 4.0
Berlaku bagi:
  • Microsoft Win32 Application Programming Interface, ketika digunakan dengan:
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows 95
Kata kunci: 
kbhook kbhowto kbinput kbmt KB226359 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:226359

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com