Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407

Как программно нажимать клавиши Ctrl+S

02.02.2016, 13:09. Показов 3534. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Суть такая. Необходимо сделать приложение желательно win form по нажатию на кнопку на форме приложение должно программно нажимать клавиши Ctrl+S. Допустим пользователь работает в автогаде и ему необходимо каждые 30 сек сохранять свою работу. Надеюсь понятно выразился )
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2016, 13:09
Ответы с готовыми решениями:

Как программно нажать Shift, Alt и Ctrl?
Как с помощью SendKeys.Send программно нажать Shift, Alt или Ctrl? В таблице на MSDN нет кодов этих кнопок. Такой вот код: ...

Как программно зажимать клавиши
Мне нужно чтобы программа сама зажимала определённую клавишу на допустим 5 секунд. Как это можно сделать?

Эмуляция джойстика: как программно нажимать кнопки передвижения в игре
Доброе время. Требуется помощь! Эмуляция джойстика, тесть как программно нажимать кнопки передвижения в игре ? Буду рад...

15
2 / 2 / 5
Регистрация: 08.07.2015
Сообщений: 14
03.02.2016, 08:15
А какой смысл эмулировать нажатие клавиш? Почему бы сделать таймер с интервалом в 30 секунд и каждый раз по тику таймера сохранять данные? Объясните, мне непонятно, зачем эмулировать нажатие клавиш?
1
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
03.02.2016, 08:37  [ТС]
Можно и по таймеру, эмулировать не обязательно, просто мне показалось что эмулировать нажатие клавишь проще чем программно лезть в другую среду (автогад) или я не прав? В любом случае буду признателен любой помощи
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
03.03.2016, 10:02  [ТС]
Никто не знает что ли???
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
04.03.2016, 01:16
Если мне не изменяет память, то эмулировать можно этим.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
04.03.2016, 09:20
Выходит, что пользователю проще запускать стороннюю программу и нажимать в её окошке какую-то кнопку, чем в том же автогаде нажать Ctrl+S?
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
04.03.2016, 09:27  [ТС]
Почему кнопку? Ctrl+S работает по таймеру, каждые 10 сек.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Saver
{
    public partial class Sav_1 : Form
    {
        public Sav_1()
        {
            KeyPreview = true;
            InitializeComponent();
            
        }
        
        private void Sav_1_Load(object sender, EventArgs e)
        {
            Timer t = new Timer();
            t.Interval = 10000;
            t.Tick += new EventHandler(t_Tick);
            t.Start();
        }
        void t_Tick(object sender, EventArgs e)
        {
            SendKeys.Send("^S");
        }
    }
}
Вроде нормально компилится, только нихрена не сохраняется ))
Говорят надо через WinApi кто-то может помочь с кодом?
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
04.03.2016, 10:39
Код рабочий. Но нужно использовать маленькую букву s - SendKeys.Send("^s");
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
04.03.2016, 10:41  [ТС]
Код не рабочий, т.к. не выполняет своей основной задачи, а если ставить маленькую s то при попытке с блокнотом, программа по таймеру вводит букву s в блокнот )
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
04.03.2016, 10:46
У меня такой код что в блокноте записи сохранить пытается, что в студии проект. У тебя метод Sav_1_Load вызывается вообще?

Добавлено через 1 минуту
А, не по шарам было, что у тебя s печатается)) Значит таймер работает
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
04.03.2016, 10:50  [ТС]
Что значит "сохранить пытается"? Что при этом происходит, я вот в автогаде создал пустой чертеж, запустил этот код, нарисовал пару линий... и нифига ничего не сохраняется, хотя сама форма запускается.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
04.03.2016, 10:52
Цитата Сообщение от _Faradey Посмотреть сообщение
Что значит "сохранить пытается"?
Открывается диалог сохранения файла, что говорит мне о том, что работает программулинка-то.

^s - срабатывает как Ctrl+S в текущем активном окошке, если у тебя в фокусе тестовое приложение, а не автогад (что за название?), то ничего и не будет сохраняться.
1
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
04.03.2016, 10:57  [ТС]
автогад = autocad я делаю следующее создаю чертеж, сохраняю его, запускаю код, далее, естественно в фокусе рисую несколько линий, затем аварийно завершаю автогад (autocad) имитируя его неожиданное аварийное завершение. Когда повторно запускаю чертеж, он пуст.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
04.03.2016, 11:07
Ну что я могу сказать. Если у тебя в блокноте сохранение не происходит, то и в актокаде его не будет. Как я уже сказал, у меня всё работает. Возможно, что у тебя в проекте муть какая-то есть, или ещё что непонятное. Создай пустой проект, и в конструкторе формы активируй таймер. Должно заработать.
0
5 / 5 / 2
Регистрация: 13.10.2015
Сообщений: 407
04.03.2016, 11:14  [ТС]
Ладно... давай так попробуем. Создай блокнот, сохрани его куда-нить, запусти код, и попробуй там что-нить написать, а потом через время закрой его, если попросит сохранить, откажись, ведь если код рабочий, он уже должен сохранить изменения.
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
04.03.2016, 11:20
Я же тебе уже сказал, что у меня всё работает - я не глазами по коду пробежавшись так сказал - проверил на деле.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2016, 11:20
Помогаю со студенческими работами здесь

Как программно выполнить комманду CTRL+C
Здравствуйте уважаемые! Подскажите пожалуйста, как программно выполнить комманду ctrl+c на сиШарпе. Заранее спасибо.

Как программно включать и отключать клавиши (ALT, Shift, Win, Ctrl, F4)
Как программно включать и отключать клавиши(ALT, Shift, Win, Ctrl, F4) Добавлено через 3 минуты пишу на visual studio 2010 ...

Как нажать клавиши CTRL+C,CTRL+V в Visual Basic 2013?
как скопировать файл в сетевой папке с помощью CTRL+C,CTRL+V

как нажимать сразу две клавиши
Я в borland C++ на форме поставил Shape1 и Shape2, Shape1 движется с помощью нажатия клавиши вверх а Shape2 вниз, вопрос в том, как можно...

Проблема. Вынужден нажимать ctrl+s на каждом файле чтобы скомпилировать
Недавно перешел на visual c++. Раньше использовал dev c++. Когда нажимал скомпилировать и запустить там все делалось автоматически. Он сам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru