微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何模拟Ctrl + Enter

如何解决如何模拟Ctrl + Enter

我正在构建一个Win应用程序,该应用程序将一些预制消息发送到chrome窗口(在一个小的聊天窗口中)按钮单击。 我能够做到,但是现在我想在单击特定按钮时模拟alt+enter

这是我的代码的一部分(按钮)。如您所见,我在这里SendKeys.Send("^{v}");,但是它什么也没做...

private void button5_Click(object sender,EventArgs e)
{
    try
    {

        if (string.IsNullOrEmpty(textBox7.Text) && string.IsNullOrEmpty(textBox8.Text)
            || string.IsNullOrEmpty(textBox7.Text) || string.IsNullOrEmpty(textBox8.Text))
        {
            if (string.IsNullOrEmpty(button5.Text))
            {
                MessageBox.Show("Please select a message from the dropBox!");
            }
            else
            {
                Clipboard.SetText(button5.Text.ToString());
                if (string.IsNullOrEmpty(textBox7.Text) && string.IsNullOrEmpty(textBox8.Text)
 || string.IsNullOrEmpty(textBox7.Text) || string.IsNullOrEmpty(textBox8.Text))
                {
                    SendKeys.Send("^{v}");
                    IDataObject iData = Clipboard.GetDataObject();
                    textBox1.Text = (String)iData.GetData(DataFormats.Text);
                }
                else
                {
                    DoMouseClick();
                    SendKeys.Send("^{v}");
                    SendKeys.Send("^{ENTER}");
                    IDataObject iData = Clipboard.GetDataObject();
                    textBox1.Text = (String)iData.GetData(DataFormats.Text);
                }
            }
        }
        else
        {
            int x = Int32.Parse(textBox7.Text);
            int y = Int32.Parse(textBox8.Text);


            Clipboard.SetText(button5.Text.ToString());
            System.Windows.Forms.Cursor.Position = new Point(x,y);
            DoMouseClick();
            SendKeys.Send("^{v}");
            IDataObject iData = Clipboard.GetDataObject();
            textBox1.Text = (String)iData.GetData(DataFormats.Text);
        }
    }
    catch
    {
        //do nothing
    }
}

解决方法

根据official documentation,您应将"^"用于ctrl,将"%"用于alt,并将"{ENTER}"(或"~")用于Enter。

要发送 alt + Enter ,请使用SendKeys.Send("%{ENTER}");SendKeys.Send("%~");
并发送 ctrl + Enter 使用SendKeys.Send("^{ENTER}");SendKeys.Send("^~");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。