怎么用SendMessage向其他窗口发送按键
怎么用SendMessage向其他窗口发送按键?????
小弟想做一个DNF的连发程序,不想下载人家的,想自己写一个
比如向窗口发送 K 这个键,下面是我的代码
//发送按键
[DllImport("user32.dll", EntryPoint = "SendMessage")]
static extern bool SendMessage(IntPtr hWnd, Int32 msg, Int32 wParam, Int32 lParam);
//查找窗口句柄
[DllImport("USER32.DLL")]
public static extern IntPtr FindWindow(string lpClassName,
string lpWindowName);
//设置进程窗口到最前
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
//WM_KEYDOWN 按下一个键
public static int WM_KEYDOWN = 0x0100;
//释放一个键
public static int WM_KEYUP = 0x0101;
//K键的键盘值
public const int VK_SPACE = 75;
private void button1_Click(object sender, EventArgs e)
{
IntPtr dnf = FindWindow(null, "地下城与勇士");
//如果找到窗口句柄
if (dnf != IntPtr.Zero)
{
//设置游戏窗口到最前
SetForegroundWindow(dnf);
SendMessage(dnf, WM_KEYDOWN, VK_SPACE, 0);
SendMessage(dnf, WM_KEYUP, VK_SPACE, 0);
}
}
代码哪里错了?我只知道第一个参数是发送目标窗口的句柄,那第二个,第三个,第四个参数都是怎么写的?
麻烦大家指导一下