How to Trap CTRL+BREAK, CTRL+C on Standard & Enhanced Keyboard

คำแถลงการณ์ปฏิเสธความรับผิดชอบเนื้อหา KB ที่เกษียณ

บทความนี้มีเนื้อหาเกี่ยวกับผลิตภัณฑ์ที่ Microsoft ไม่ได้ให้การสนับสนุนอีกต่อไป ดังนั้น บทความนี้จึงเสนอเนื้อหา "อย่างที่เป็น" และจะไม่มีการปรับปรุงเนื้อหาอีกต่อไป


The scan code for the BREAK key is &H46. The CTRL+BREAK keystroke combination is trapped differently, depending on whether or not the program is run on a standard or enhanced keyboard.

This information is also included with the Help file provided with the Standard and Professional Editions of Microsoft Visual Basic for MS-DOS, version 1.0.

For a standard keyboard, CTRL+BREAK is defined as follows
   KEY n, CHR$(&H04) + CHR$(&H46)
where n is in the range 15 through 25.

On an enhanced keyboard, CTRL+BREAK is defined as follows:
   KEY n, CHR$(&H84) + CHR$(&H46)
Please note that you must make separate user-defined KEY statements for trapping CTRL+BREAK in combination with the SHIFT, ALT, NUM LOCK, and CAPS LOCK keys. The keyboard flags for these other keystroke combinations must be added together to define a given keystroke sequence.

Examples of trapping CTRL+BREAK and CTRL+C (when the SHIFT, ALT, NUM LOCK, or CAPS LOCK keys are NOT active) are included below.

More Information

Use the following steps to execute the examples listed below in VBDOS.EXE:

  1. From the File menu, choose New Project.
  2. Copy the code example to the Code window.
  3. Press F5 to run the program.

Code Example 1

KEY 15, CHR$(&H84) + CHR$(&H46) ' Traps CTRL+BREAK on enhanced keyboard.
KEY 16, CHR$(&H4) + CHR$(&H46) ' Traps CTRL+BREAK on standard keyboard.
KEY(15) ON
KEY(16) ON
ON KEY(16) GOSUB trap
ON KEY(15) GOSUB trap
FOR i = 1 TO 500
PRINT "trapped"
NOTE: If NUM LOCK, SCROLL LOCK, or CAPS LOCK is on, this example will not work. For additional information on how to disable these keys, please see the following article(s) in the Microsoft Knowledge Base:
59132 How to Disable Toggle for NUM/CAPS/SCROLL LOCK with Key Trap

รหัสบทความ: 33034 - การตรวจสอบครั้งสุดท้าย: 16 ส.ค. 2005 - ฉบับแก้ไข: 1