我想模拟一个外部程序的键盘点击。我已经尝试过SendMessage,PostMessage,SendKeys,但他们不会把键发送到一个特定的程序。所以我想尝试一下SendInput,我已经为SendInput - http://inputsimulator.codeplex.com/下载了一个很好的包装器
我已经将程序集添加到我的项目中,但是我还不能开始使用任何函数...
我要做什么?我应该添加什么“使用”?
发布于 2011-07-07 21:37:56
我相信你需要一个
Using WindowsInput; 如果不是这样,您可以在对象浏览器中查看它并查看命名空间。只需在解决方案资源管理器中右键单击引用,然后单击“浏览”。
发布于 2011-07-07 22:31:01
您可以为程序模拟键盘输入,如下所示:
从user32.dll
示例代码(测试前启动记事本):
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace SendKeyboardInput
{
public class SendKey
{
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
public void Send()
{
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("notepad"); //search for process notepad
if (p.Length > 0) //check if window was found
{
SetForegroundWindow(p[0].MainWindowHandle); //bring notepad to foreground
}
SendKeys.SendWait("a"); //send key "a" to notepad
}
}
}发布于 2013-08-16 23:03:56
我也遇到了同样的问题,但我还是按照下面的3个步骤做到了
“将WindowsInput命名空间添加到项目中
https://stackoverflow.com/questions/6611442
复制相似问题