craig_capel
asked on
keyboard Buffer
is it possible to do the same as Int 16h did in dos, and put chars into the buffer?
Thanks Craig C.
Thanks Craig C.
In general you can use
..xxxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
to do it
..xxxKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
to do it
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
var
r: byte;
ch: char;
n: integer;
slw: longint;
s: string;
begin
asm
in al,60h;
mov r,al;
end;
s:='Hello I Was Here 19999';
if r=$3c then
begin
for n:=1 to length(s) do
begin
keybd_event(ord(upcase(s[n ])),0,0,0) ;
application.processmessage s;
end;
end;
for slw:=1 to 1000 do
application.processmessage s;
r:=0;
I logged off for WHAT 15 mins!!!! and in that time i come up with this and you post me what i just found???????????????????
I sometimes hate you!!!!!!! :)
Craig C.
r: byte;
ch: char;
n: integer;
slw: longint;
s: string;
begin
asm
in al,60h;
mov r,al;
end;
s:='Hello I Was Here 19999';
if r=$3c then
begin
for n:=1 to length(s) do
begin
keybd_event(ord(upcase(s[n
application.processmessage
end;
end;
for slw:=1 to 1000 do
application.processmessage
r:=0;
I logged off for WHAT 15 mins!!!! and in that time i come up with this and you post me what i just found???????????????????
I sometimes hate you!!!!!!! :)
Craig C.
ASKER
Yeah Yeah...... I asked the question regardless of if i found the info or not!
haha hi craig i only posted quick comment cause i wasnt sure that what you needed ,seems it was ;-)
nevermind its only 20 lines less :o))
see ya
nevermind its only 20 lines less :o))
see ya
Is there a way to clear the Keyboard Buffer?
yeh but it wont work on nt..
Disable:
Asm
in al,21h
or al,00000010b
out 21h,al
End;
Enable:
Asm
in al,21h
mov al,0
out 21h,al
End;
Disable:
Asm
in al,21h
or al,00000010b
out 21h,al
End;
Enable:
Asm
in al,21h
mov al,0
out 21h,al
End;
ASKER
Craig C.