如何一个接一个按住3个键

问题描述

自动热键的新手。我想创建一个热键来按住 Control,然后按住 Alt,然后按“W”,然后松开所有 3 个键,并在 30 秒后执行相同操作。

我试过了,但不确定它是否正确。谢谢!

#SingleInstance,force
#MaxThreadsPerHotkey 2
F10::   
    Toggle := !Toggle
    while Toggle
    {
        Send,{Ctrl}
        Send,{Alt}
        Send,{W}
        Sleep,30000 ;
    }
Return

解决方法

这应该有效:

private void button11_Click(object sender,EventArgs e)
{
        try
        {
            if (SId.Text == "" || SellName.Text == "" || SellAge.Text == "" || SellPhone.Text == "" || SellPass.Text == "")
            {
                MessageBox.Show("Missing info");
            }
            
            string query = "UPDATE Sellers SET [SellerName] = @Name,[SellerAge] = @Age,[SellerPhone] = @Phone,[SellerPassword] = @Pass WHERE [SellerId] = @Id";

            SqlCommand cmd = new SqlCommand(query,Con);

            cmd.Parameters.AddWithValue("@Id",SId.Text);
            cmd.Parameters.AddWithValue("@Name",SellName.Text);
            cmd.Parameters.AddWithValue("@Age",SellAge.Text);
            cmd.Parameters.AddWithValue("@Phone",SellPhone.Text);
            cmd.Parameters.AddWithValue("@Pass",SellPass.Text);

            Con.Open();
            cmd.ExecuteNonQuery();

            MessageBox.Show("Update successful!");

            SId.Text = "";
            SellName.Text = "";
            SellPhone.Text = "";
            SellPass.Text = "";
            SellAge.Text = "";

            Con.Close();

            populate();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
}

注意事项:

  1. 使用 #SingleInstance,force F10:: Toggle := !Toggle if (Toggle) { gosub,sub SetTimer sub,30000 } else{ SetTimer sub,Off } Return sub: Send ^!w return 命令时,程序无法检测到正在按下的热键。与其使用多个线程,不如实现一个 SetTimer/Subroutine 系统。
  2. 要发送 sleep,只需使用 Ctrl+Alt+W。 (^ 表示 Control,! 表示 Alt,而 w 表示 w;有关详细信息,请参阅 modifiers