如何模拟按“%”和“;”键
string a2 = ";:%1467";
byte[] bb = Encoding.ASCII.GetBytes(a2);
foreach (byte b in bb)
{
InputWorkflow.SendKeyPress((ushort)b);
}
InputWorkflow: http://pastebin.com/e9Hg24kD
答案 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>