c# - 如何使用 sendmessage(C#) 向 cmd.exe 发送退格键

标签 c# stdin cmd sendmessage

我正在尝试将击键发送到我从我的应用程序启动的 cmd.exe。这样做,我能够发送所有键盘字符,但如果我尝试发送退格键,它似乎没有生效。以下是向 cmd.exe 发送消息的代码片段:

SendMessage((int)shell.MainWindowHandle, WM_KEYDOWN, ((int)e.KeyCode), 0);
SendMessage((int)shell.MainWindowHandle, WM_KEYUP, ((int)e.KeyCode), 0);

知道为什么这行不通吗?从 C# 应用发送到 cmd.exe 标准输入的最佳方式是什么?

提前致谢

最佳答案

您必须 P/Invoke SendInput()因为 Backspace 是由键盘驱动程序直接处理的。

关于c# - 如何使用 sendmessage(C#) 向 cmd.exe 发送退格键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729775/

相关文章:

c - Ctrl-D(Unix)和Ctrl-Z(Windows)的不同行为

c - 将标准输入的整数输入插入链表

python - 从命令行安装 python 并等待完成

powershell - 在Windows 7(cmd或PowerShell)上的子文件夹中展平文件

c++ - 在用户输入时捕获输入流

java - 当我们在eclipse上运行程序时,main函数如何获取它的参数?

c# - 将 XmlRoot 或 XmlType 与 RestSharp 结合使用

c# - 如何以编程方式显示文本框的键盘?

c# - .NET 中两个字符串的逐字差异比较

c# - appsettings.json 和 azure 定时器功能