.NET 2.x Как сделать глобальные горячие клавиши? - C#

Узнай цену своей работы

Формулировка задачи:

Как сделать глобальные горячие клавиши? Пользуюсь вот таким кодом
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            MethodInvoker mi = new MethodInvoker(WaitKey);
            mi.BeginInvoke(null, null);
        }
 
        private void WaitKey()
        {
            while (this.IsHandleCreated)
            {
 
                short res1 = GetAsyncKeyState(VK_SHIFT);
                short res2 = GetAsyncKeyState(VK_Z);
                if (res1 != 0 && res2 != 0)
                    MessageBox.Show("Hello");
            }
        }

        public const int VK_SHIFT = 0x10;
        public const int VK_Z = 0x5A;
 
        [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
        internal static extern short GetAsyncKeyState(int vkey);
Но если
MessageBox.Show("Hello");
Поменять на
Form2 src = new Form2();
или на
button1.Text = "10";
То выдаёт ошибку...Как её исправить?
Блин, ну помогите плиз.Надо чтобы при нажатии shift+1 Выполнялось действие:
            SendKeys.Send(textBox1.Text);
            SendKeys.Send("{ENTER}");

Решение задачи: «.NET 2.x Как сделать глобальные горячие клавиши?»

textual
Листинг программы
            SendKeys.Send(textBox1.Text);
            SendKeys.Send("{ENTER}");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы