110,536
社区成员
发帖
与我相关
我的任务
分享
if (Control.ModifierKeys != Keys.Control)
SystemApi.keybd_event((byte)Keys.LControlKey, 0, 0, 0);
SystemApi.SendMessage(MainHwnd, SystemApi.WM_KEYDOWN, (int)Keys.V, 0);
SystemApi.SendMessage(MainHwnd, SystemApi.WM_KEYUP, (int)Keys.V, 0);
if (Control.ModifierKeys == Keys.Control)
SystemApi.keybd_event((byte)Keys.LControlKey, 0, 0x2, 0);
MainHwnd 必须要为该窗体接收按键消息的元素句柄。 这个得一层层测试。
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
const int WM_KEYDOWN = 0x0100;
const int WM_KEYUP = 0x0101;
private void button3_Click(object sender, EventArgs e)
{
keybd_event(17, 0, 0, 0);
SendMessage(hWnd, WM_KEYDOWN, 80, 0);
SendMessage(hWnd, WM_KEYUP, 80, 0);
keybd_event(17, 0, 2, 0);
}
hWnd是对应程序的句柄 程序没有反应