3

首先,我说的是 DOS,而不是 Windows 的命令行应用程序。

我希望编写一个向当前正在运行的进程发送击键的程序。我的目标是在 ISR(中断处理程序)中使用此过程。

换句话说,这就是我想要发生的事情:

  • DOS 启动。
  • 我运行一个 TSR,它将我的过程注册为某个中断的 ISR(不是键盘中断,但现在让我们假设它是)。
  • 我运行另一个程序,它成为当前正在运行的进程。
  • 发生上述中断。
  • 我的程序跳入并模拟击键,事实上,这从未真正发生过。
  • 当前正在运行的进程接收此击键,就好像实际按下了模拟键一样。

我找到了几个具有不同示例的来源,但我真的找不到任何适合我的东西。

我不知道它是否有任何相关性,但我目前用来测试所有这些的包括在 VirtualBox 机器上运行的 FreeDOS,以及用于编译和运行代码的 DJGPP(它使用 GNU 编译器,我相信) .

任何和所有的帮助将不胜感激。

4

1 回答 1

1

IIRC您必须使用BIOS调用INT 16h,FUNC 05H ...?或直接写信给 0040:001E(或者是 001C)... 谷歌搜索出现了几个关于该主题的线程...

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

于 2011-05-07T00:40:41.617 回答