如何以编程方式(在C/ c++中)模拟DOS中的击键
How do I emulate a keystroke in DOS programatically (in C/C++)?
首先,我说的是DOS,而不是Windows的命令行应用程序。
我想写一个程序,它将发送一个击键到当前正在运行的进程。我的目标是在ISR(中断处理程序)中使用这个过程。
换句话说,这就是我想要发生的:
- DOS启动。
- 我运行一个TSR,它将我的过程注册为某些中断的ISR(不是键盘中断,但现在让我们假设它是)。
- 我运行另一个程序,它成为当前运行的进程。
- 上述中断发生。
- 我的程序跳入并模拟击键,实际上,这从未真正发生过。
- 当前运行的进程接收到这个击键,就像实际按下了模拟键一样。
我找到了一些有不同例子的资料,但我真的找不到任何适合我的。
我不知道它是否有任何相关性,但我现在用来测试所有这些的包括在VirtualBox机器上运行的FreeDOS,以及编译和运行代码的DJGPP(我相信它使用GNU编译器)。
非常感谢您的帮助。
你必须使用BIOS调用INT 16h, FUNC 05H…?或者直接写到0040:001E(或者是001C)…谷歌搜索出现了关于这个主题的几条线索…
http://www.rhinocerus.net/forum/lang-asm-x86/254441-re-how-write-char-keyboard-buffer.html相关文章:
- 如何使用Google Mock来模拟gettimeofday()
- G锁定铸造到基础上会释放模拟行为
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 落砂模拟碰撞检测C++和SFML
- 在gtest.中使用fff.h模拟系统API
- 谷歌模拟和覆盖关键字
- 用C#中的并集模拟C++嵌套结构
- 在同一模拟中使用静脉和静脉_ inet内容时出现运行时错误
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 我写了一个C++程序来模拟Enigma机器.我没有得到输出
- 如何模拟不同边数的骰子滚动?
- 模拟持久按键
- 使用SIR模型的疾病爆发模拟
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 转发变量参数列表以模拟 std::thread
- 如何在谷歌模拟中匹配 C 样式数组
- 如何使用兰德随机化模拟点击
- 模拟GPS数据,以便使用Qt与Traccar一起使用
- QKeyPress - 在Qt中模拟按键
- 如何以编程方式(在C/ c++中)模拟DOS中的击键