c# – 如何将键而不是字符发送到进程?
发布时间:2020-12-15 18:36:26 所属栏目:百科 来源:网络整理
导读:System.Diagnostics.Process公开名为StandardInput的StreamWriter,据我所知,它只接受字符. 但我也需要发送击键,有些击键不能很好地映射到角色. 我该怎么办? 解决方法 您正在将输入流与控制信号混合.正如您所知,控制台进程有一个默认输入流,您可以使用Standa
System.Diagnostics.Process公开名为StandardInput的StreamWriter,据我所知,它只接受字符.
但我也需要发送击键,有些击键不能很好地映射到角色. 我该怎么办? 解决方法
您正在将输入流与控制信号混合.正如您所知,控制台进程有一个默认输入流,您可以使用StandardInput控制该输入流.但Ctrl-C和Ctrl-Break不是通过此流发送到进程的字符,而是它们是使用已注册的信号处理程序接收进程接收的控制信号,请参阅
CTRL+C and CTRL+BREAK Signals:
要向流程发送虚假信号,您可以使用 要在.NET中使用它,您只需要包含函数定义: const int CTRL_C_EVENT = 0; const int CTRL_BREAK_EVENT = 1; [DllImport("kernel32.dll")] static extern bool GenerateConsoleCtrlEvent( uint dwCtrlEvent,uint dwProcessGroupId); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |