一个简单的Sendkeys程序,环境是win7 .net 4.5
贴一段发送的代码
Process[] pcs = Process.GetProcesses(); //获取进程数组
foreach (Process p in pcs)
{
try
{
//module = p.MainModule;
if ((p.MainModule.ModuleName == prg) || (p.MainModule.FileName == path))
{
SetForegroundWindow(p.Handle);
//System.Windows.Forms.SendKeys.Send("{BACKSPACE}");
WriteLog(pwd);
System.Threading.Thread.Sleep(1000);
System.Windows.Forms.SendKeys.Send(pwd);
//System.Windows.Forms.SendKeys.Send("{ENTER}");
}
}
catch
{
}
}
return true;
然而每次启动程序第一次发送,输出的首字母总是重复。后面再发送不管多少次都没有问题。
重启程序后又是如此。下面两张图,一张是打印出pwd的值,另一张是我写入notepad++的值。明显第一个q重复了。请大神指点一下啊。很不解