如何模拟按“%”和“;”按键

时间:2013-07-09 12:49:55

标签: c# winapi

如何模拟按“%”和“;”键

string a2 = ";:%1467";
byte[] bb = Encoding.ASCII.GetBytes(a2);

foreach (byte b in bb)
{
   InputWorkflow.SendKeyPress((ushort)b);
}

InputWorkflow: http://pastebin.com/e9Hg24kD

1 个答案:

答案 0 :(得分:3)

为什么你的班级不能正常工作

您滥用该类中描述的方法;您还必须将键盘扫描代码传递给InputWorkFlow.SendKeyPress(ushort keycode);方法。它不接受ascii字节。

使用方法:

使用SendKeys class以您想要的方式工作:

string a2 = ";:%1467";
byte[] bb = Encoding.ASCII.GetBytes(a2);

foreach (byte b in bb)
{
   SendKeys.Send(b);
}

如果您需要等待处理每个密钥,请使用SendWait而不是Send

foreach (byte b in bb)
{
   SendKeys.SendWait(b);
}

从Windows Vista上的.NET 3.0开始,您需要在app.config中添加以下内容:

<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>