If this is REALLY what you've got to do then the remote process and use some
assembly code and do "out"'s to the chip that handles the KB IO. This is
typically an 8048 or 8042 Intel chip, and the port to out to is 60H. Once
this port is written to the 8259 Interrupt controller will fire, and you
could get the address from there instead and just fire that int handler.
An easier way may be to use the MS-DOS interrupt 09 (INT 09) which is a BIOS
handler for the keyboard.
A HUGE downside is that you have to have a controller system where you know
a user is NOT at the keyboard. It is actually a big kluge that I would NEVER
do. Why do you need to use a pipe anyways? Is the code already written for
the process that you are piping to?
"Hans J?rg Brinksmeyer" <ha********************@iav.de> wrote in message
news:9f**************************@posting.google.c om...
Hi,
does anyone have an idea for this problem:
I use anonymous pipes to steer a console program under Win2000 with a
second 'steering aplication'. The stdin and output are redirected to
pipes.
The console application has several fgets() and fgetc() to read
strings and chars. This works very fine with the pipes.
But, there is one point where the console application uses kbhit() and
waits for a key to be hit. It seems not possible to use the pipes to
get out of the loop
while( ! kbhit() )...
I do not want to use the keyboard and I can not change the console
application, since I do not have the sources.
Is there a way to make the one program simulate this event in a way
that the console application's line while(!kbhit())... is satisfied?
Thanks a lot,
Hans J. Brinksmeyer