3

まず、私が話しているのは DOS であり、Windows のコマンドライン アプリケーションではありません。

現在実行中のプロセスにキーストロークを送信するプロシージャを作成したいと考えています。私の目標は、ISR (割り込みハンドラー) でこの手順を使用することです。

言い換えれば、これは私がしたいことです:

  • DOS が起動します。
  • 私は TSR を実行して、何らかの割り込み (キーボード割り込みではありませんが、ここではそうであると仮定しましょう) の ISR としてプロシージャを登録します。
  • 現在実行中のプロセスになる別のプログラムを実行します。
  • 前述の割り込みが発生します。
  • 私の手順が飛び込んでキーストロークをエミュレートしますが、実際には実際には起こりませんでした。
  • 現在実行中のプロセスは、エミュレートされたキーが実際に押されたかのように、このキーストロークを受け取ります。

さまざまな例を含むいくつかのソースを見つけましたが、実際には何も機能しませんでした。

関連性があるかどうかはわかりませんが、現時点でこれらすべてをテストするために使用しているのは、VirtualBox マシンで実行されている FreeDOS と、コードをコンパイルして実行するための DJGPP です (GNU コンパイラを使用していると思います)。 .

あらゆる支援をいただければ幸いです。

4

1 に答える 1

1

IIRC では、BIOS コール INT 16h、FUNC 05H を使用する必要があります...? または、0040:001E (または 001C でした) に直接書き込みます... Google 検索で、このトピックに関するスレッドがいくつか見つかります...

http://www.rhinocerus.net/forum/lang-asm-x86/254441-re-how-write-char-keyboard-buffer.html

于 2011-05-07T00:40:41.617 に答える