확장된 (101 키) 키보드의 키를 인쇄 화면을 감지 하는 방법

만료된 KB 콘텐츠 고지 사항

이 문서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 작성되었습니다. 따라서 이 문서는 “있는 그대로" 제공되며 더 이상 업데이트되지 않습니다.

요약

(트랩)를 검색할 수 있습니다 키 GOSUB ON 문을 사용 하 여 PRINT SCREEN (또는 SHIFT + PRINT SCREEN 또는 PRT SCR 등) 키입니다. 이 기술은 Microsoft Windows에서 작동 하지 않습니다 및 (없는데 ROM BIOS 종류)는 모든 컴퓨터에서 올바르게 동작 하지 않을 수 있습니다.


기본 키 GOSUB ON 문 사용 하 여 키 누르기를 검색할 수 있지만 PRINT SCREEN ROM BIOS 인터럽트 테이블을 통해 제어 됩니다 작업과 Basic을 사용 하 여 직접 해제할 수 없습니다. 인쇄 화면 유틸리티를 사용 하지 않으려면 인터럽트 벡터는 C 또는 어셈블리 루틴을 사용 하 여 다시 매핑할 수 있습니다.

자세한 내용

키 문의 구문은 다음과 같습니다 여기서 n 15-25 수 = 사용자 정의 키 조합을 트래핑할 수 수:
   KEY n, CHR$(keyboardflag) + CHR$(scancode)
다음 차트는 PRINT SCREEN 및 표준 및 확장 된 키보드의 SHIFT + PRINT SCREEN 키보드 플래그 및 스캔 코드를 보여줍니다.
                          Standard   Extended
-------- --------
Keyboard flag for:

No SHIFT &H00 &H80
LEFT SHIFT &H02 &H82
RIGHT SHIFT &H01 &H81

Scan code for:

PRINT SCREEN &H37 &H2A

참고: 키보드 플래그 CAPS LOCK 및 NUM LOCK 키에 의해 영향을 받습니다. 위 값 CAPS LOCK 및 NUM LOCK 해제 되어 가정 합니다. 추가 & H40 키보드에 CAPS LOCK에 대 한 플래그를 추가 & H20 NUM LOCK에 대 한.

코드 예제

다음 코드 예제에서는 SHIFT + PRINT 및 PRINT SCREEN 화면 조합을 위에 나열 된 각을 찾습니다.
'Note: This program detects PRINT SCREEN and SHIFT+PRINT SCREEN key'      combinations on standard and extended keyboards with CAPS LOCK
' and NUM LOCK off.
'
'Also note: This program does NOT disable the PRINT SCREEN action
' (that is, the screen is still printed). See the explanation
' in the text of the above article.
KEY 15, CHR$(&H00) + CHR$(&H37) 'Standard no SHIFTs
KEY 16, CHR$(&H02) + CHR$(&H37) 'Standard LEFT SHIFT
KEY 17, CHR$(&H01) + CHR$(&H37) 'Standard RIGHT SHIFT
KEY 18, CHR$(&H80) + CHR$(&H2A) 'Extended no SHIFTs
KEY 19, CHR$(&H82) + CHR$(&H2A) 'Extended LEFT SHIFT
KEY 20, CHR$(&H81) + CHR$(&H2A) 'Extended RIGHT SHIFT
FOR i%=15 TO 20
ON KEY(i%) GOSUB Handle:
KEY(i%) ON
NEXT
WHILE INKEY$<>CHR$(27) : WEND 'Press ESC to end
END

Handle: PRINT "Trapped PRINT SCREEN keystroke"
PRINT "Screen will still print unless"
PRINT "Interrupt vector changed with"
PRINT "C or Assembly routine."
RETURN

속성

문서 ID: 59133 - 마지막 검토: 2017. 2. 7. - 수정: 1

피드백