[DllImport("user32.dll", EntryPoint = "keybd_event")] public static extern void keybd_event( byte bVk, //虚拟键值 byte bScan,// 一般为0 int dwFlags, //这里是整数类型 0 为按下,2为释放 int dwExtraInfo //这里是整数类型 一般情况下设成为 0 );
[DllImport("USER32.DLL")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd); private IntPtr hwnd;
private void button1_Click(object sender, EventArgs e)
{
hwnd = FindWindow("notepad", null);
if (hwnd != IntPtr.Zero)
{
SetForegroundWindow(hwnd);
Thread.Sleep(1000);
keybd_event((byte)Keys.D, 0, 0, 0); //按下D不松开
}
}结果记事本里只出来一个d么,额,按住d这个键不放开这样写不对嘛?
[DllImport("USER32.DLL")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd); private IntPtr hwnd;
private void button1_Click(object sender, EventArgs e)
{
hwnd = FindWindow("notepad", null);
if (hwnd != IntPtr.Zero)
{
SetForegroundWindow(hwnd);
Thread.Sleep(1000);
keybd_event((byte)Keys.D, 0, 0, 0); //按下D不松开
}
}结果记事本里只出来一个d么,额,按住d这个键不放开这样写不对嘛?
{
keybd_event((byte)Keys.D, 0, 0, 0); //按下D不松开
}
可以不?
While(True)
{
keybd_event((byte)Keys.D, 0, 0, 0); //按下D不松开
}