Программно нажать сочетание клавиш - C#
Формулировка задачи:
Доброго времени суток. Столкнулся с проблемой, пытаюсь сделать приложение, которое по таймеру, каждые 10 сек должна выполнять код:
При этом должно происходить сохранение файла в другой программе (в которой при нажатии Ctrl+S как раз и происходит сохранение) Все дело в том, что программа корявая постоянно отваливается и автосохранение в ней при этом постоянно отключается. Вот хочу сделать приложение, которое будет постоянно по таймеру нажимать эти самые Ctrl+S
Заранее спасибо!
(e.Control) && (e.KeyCode == Keys.S)
Решение задачи: «Программно нажать сочетание клавиш»
textual
Листинг программы
// Для поиска нужного приложения.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName,
string lpWindowName);
// для активации окна приложения.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
private void button1_Click(object sender, EventArgs e)
{
IntPtr calculatorHandle = FindWindow("CalcFrame", "Калькулятор");
if (calculatorHandle == IntPtr.Zero)
{
MessageBox.Show("Calculator is not running.");
return;
}
SetForegroundWindow(calculatorHandle);
SendKeys.SendWait("^S");
}