PDA

Visualizza versione completa : Rilevazione tasti premuti


Kjow
07-06-2005, 15.18.34
Ciao a tutti,

mi servirebbe un programma che mi dica quale tasto premuto all'istante con magari il relativo codice...

es: premo a sulla tastiera e mi dice "a", premo shift e mi dice che sto premendo "shift", premo il tab e me lo dice...

Non ho voglia/temo di farmelo... quindi se sapeste gi dell'esistenza di una cosa simile ve ne sarei grato :)

Ciao e grazie ;)

onairda
09-06-2005, 17.23.19
CLS
DEF SEG = 0

LOCATE 4
PRINT " ͻ"
PRINT " 128Insert "
PRINT " 64Caps Lock "
PRINT " 32Num Lock "
PRINT " 16Scroll Lock "
PRINT " 8Alt "
PRINT " 4Ctrl "
PRINT " 2Left Shift "
PRINT " 1Right Shift "
PRINT " Ľ"
PRINT " TOTAL"
PRINT " ;"
PRINT "Press enter to quit."

DO
check$ = INKEY$
a = PEEK(1047)
LOCATE 1, 6: PRINT check$
IF check$ <> "" THEN xyz = ASC(check$)
IF check$ <> "" THEN PRINT "codice asci", xyz
aaa:
LOCATE 14, 6: PRINT USING "###"; a

IF a >= 128 THEN
a.flag = 1
a = a - 128
ELSE
a.flag = 0
END IF
IF a >= 64 THEN
b.flag = 1
a = a - 64
ELSE
b.flag = 0
END IF
IF a >= 32 THEN
c.flag = 1
a = a - 32
ELSE
c.flag = 0
END IF
IF a >= 16 THEN
d.flag = 1
a = a - 16
ELSE
d.flag = 0
END IF
IF a >= 8 THEN
e.flag = 1
a = a - 8
ELSE
e.flag = 0
END IF
IF a >= 4 THEN
f.flag = 1
a = a - 4
ELSE
f.flag = 0
END IF
IF a >= 2 THEN
g.flag = 1
a = a - 2
ELSE
g.flag = 0
END IF
IF a >= 1 THEN
h.flag = 1
a = a - 1
ELSE
h.flag = 0
END IF

SELECT CASE a.flag
CASE 1
LOCATE 5, 5: PRINT ""
CASE 0
LOCATE 5, 5: PRINT " "
END SELECT
SELECT CASE b.flag
CASE 1
LOCATE 6, 5: PRINT ""
CASE 0
LOCATE 6, 5: PRINT " "
END SELECT
SELECT CASE c.flag
CASE 1
LOCATE 7, 5: PRINT ""
CASE 0
LOCATE 7, 5: PRINT " "
END SELECT
SELECT CASE d.flag
CASE 1
LOCATE 8, 5: PRINT ""
CASE 0
LOCATE 8, 5: PRINT " "
END SELECT
SELECT CASE e.flag
CASE 1
LOCATE 9, 5: PRINT ""
CASE 0
LOCATE 9, 5: PRINT " "
END SELECT
SELECT CASE f.flag
CASE 1
LOCATE 10, 5: PRINT ""
CASE 0
LOCATE 10, 5: PRINT " "
END SELECT
SELECT CASE g.flag
CASE 1
LOCATE 11, 5: PRINT ""
CASE 0
LOCATE 11, 5: PRINT " "
END SELECT
SELECT CASE h.flag
CASE 1
LOCATE 12, 5: PRINT ""
CASE 0
LOCATE 12, 5: PRINT " "
END SELECT

LOOP UNTIL check$ = CHR$(13)

onairda
09-06-2005, 17.36.57
ecco l'eseguibile rinominalo in exe che gia' pronto