加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 通过向命令窗口发送击键来注入命令?

发布时间:2020-12-15 08:25:18 所属栏目:百科 来源:网络整理
导读:我有一个命令提示符窗口,运行基于Web的软件.我想在C#中创建一个程序,将命令注入到运行命令提示符窗口中. 有什么指针吗? 谢谢,保罗. 解决方法 快速而肮脏的方法: 使用SetFocus将焦点设置为cmd窗口,然后使用SendInput将键击发送到cmd窗口. 您可以使用this P
我有一个命令提示符窗口,运行基于Web的软件.我想在C#中创建一个程序,将命令注入到运行命令提示符窗口中.

有什么指针吗?

谢谢,保罗.

解决方法

快速而肮脏的方法:

使用SetFocus将焦点设置为cmd窗口,然后使用SendInput将键击发送到cmd窗口.

您可以使用this P / Invoke定义从c#调用SendInput:

[DllImport("user32.dll",SetLastError=true)]
static extern uint SendInput(uint nInputs,ref INPUT pInputs,int cbSize);

和this一个用于SetFocus

[DllImport("user32.dll")]
static extern IntPtr SetFocus(IntPtr hWnd);

为了获得SetFocus所需的窗口句柄,您可以使用FindWindow或者使用Process.GetProcessesByName获取适当的cmd进程,然后使用MainWindowHandle属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读