Программно нажать сочетание клавиш - C#

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

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

Доброго времени суток. Столкнулся с проблемой, пытаюсь сделать приложение, которое по таймеру, каждые 10 сек должна выполнять код:
Листинг программы
  1. (e.Control) && (e.KeyCode == Keys.S)
При этом должно происходить сохранение файла в другой программе (в которой при нажатии Ctrl+S как раз и происходит сохранение) Все дело в том, что программа корявая постоянно отваливается и автосохранение в ней при этом постоянно отключается. Вот хочу сделать приложение, которое будет постоянно по таймеру нажимать эти самые Ctrl+S Заранее спасибо!

Решение задачи: «Программно нажать сочетание клавиш»

textual
Листинг программы
  1. // Для поиска нужного приложения.
  2.             [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
  3.             public static extern IntPtr FindWindow(string lpClassName,
  4.                 string lpWindowName);
  5.  
  6.             // для активации окна приложения.
  7.             [DllImport("USER32.DLL")]
  8.             public static extern bool SetForegroundWindow(IntPtr hWnd);
  9.  
  10.             private void button1_Click(object sender, EventArgs e)
  11.             {
  12.                
  13.                 IntPtr calculatorHandle = FindWindow("CalcFrame", "Калькулятор");
  14.  
  15.                
  16.                 if (calculatorHandle == IntPtr.Zero)
  17.                 {
  18.                     MessageBox.Show("Calculator is not running.");
  19.                     return;
  20.                 }
  21.  
  22.                
  23.                 SetForegroundWindow(calculatorHandle);
  24.                 SendKeys.SendWait("^S");
  25.  
  26.             }

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


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

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

14   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы