Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31

Не работает имитация сообщения

25.01.2016, 01:34. Показов 1185. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго вечера.
Развлекался с кодом, познавал новое..
Нашел на форуме как сделать имитацию клавиши.
Разобрался с кодом, что,куда,зачем и как.
Сделал сохранение программы при нажатии F5.
Все работало. Но через какое то время перестало, я с этим куском кода не работал вообще.
Пытался разобраться но не получается:С
помогите плз.

private void KeyDownHandler(KeyEventArgs args)
{
if (args.KeyValue == 48)// стрелка Вниз
MessageBox.Show("Ку-Ку");
if (args.KeyCode == Keys.F5)
{ save(); }
}

Работал второй способ. Первый пытался сделать другим способом, но все равно не работает.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.01.2016, 01:34
Ответы с готовыми решениями:

Не работает имитация нажатия CTRL+C
может есть у кого какие решения проблемы, у друга на компе пробывал, работает, у меня просто дописывает "а" и все...

Не работает имитация клика мышью
Добрый вечер. Только начал изучать C#, пишу небольшого бота. Подскажите, пожалуйста, почему не получается имитировать клик ЛКМ в окне...

Почему не работает имитация нажатия клавиш в приложениях WebBrowser
keybd_event(p1, 0, 0, 0); keybd_event(p1, 0, KEYEVENTF_KEYUP, 0); keybd_event(p2, 0, 0, 0); keybd_event(p2, 0, KEYEVENTF_KEYUP, 0); ...

15
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 01:40

Не по теме:

Используйте,пожалуйста, теги для кода, читать его иначе невозможно.


А по проблеме-этот кусок кода ни о чем не говорит. Чтобы понять, что где происходит, используйте отладчик(точки останова, F10-11 и тд). Или хотя бы покажите, где этот метод вызывается.
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 01:42  [ТС]
Почувствовал себя нубом.
В первый раз когда делал и все работало, нигде не использовал сей метод....
Но повторюсь, все работало
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 01:47
Gambetta, ну чтобы что-то работало, оно должно быть где-то написано и вызываться Сказать что-то более информативное мой магический уровень не позволяет
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 01:53  [ТС]
Подскажи пожалуйста, где нужно вызвать этот метод?
Не могу разобраться:С
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 02:02
Gambetta, ну скорее всего, в обработчике события KeyDown формы
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 02:45  [ТС]
Все, разобрался, спасибо огромное!

Добавлено через 36 минут
И снова вопрос. Код не менял, опять делал другую часть программы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        public KeyEventArgs args;
private void KeyDownHandler()
        {
            if (args.KeyCode == Keys.F5)
            { save(); }
            if (args.KeyCode == Keys.F9)
            { load(); }
            if (args.KeyCode == Keys.Escape)
            { Close(); }
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            KeyDownHandler();
        }
Вот весь код связанный с имитацией клавиши, и ничего не работает..
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 02:57
Цитата Сообщение от Gambetta Посмотреть сообщение
Вот весь код связанный с имитацией клавиши, и ничего не работает..
Ну естественно, у вас же в public KeyEventArgs args; по всей видимости вообще ничего не записывается Если уж использовать этот метод, то подавайте в него объект KeyEventArgs как раньше, а не засовывайте его в какое-то поле. Да и зачем вообще нужен этот метод? Не проще ли проверять все в самом обработчике события? Я понимаю, если бы у вас там был длинный код, но что-то не похоже на то. Да, и проверять разные варианты одной переменной лучше через switch.
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 02:59  [ТС]
Ну...общая длина кода 500 с лишним строк)

По поводу проблемы, буквально час назад все работало же, перепроверил, и довольный перешел к решению следующей проблемы
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 03:00
Лучший ответ Сообщение было отмечено Gambetta как решение

Решение

Цитата Сообщение от Gambetta Посмотреть сообщение
Ну...общая длина кода 500 с лишним строк)
Сдается мне, что из них 90%-дублирующийся код
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 03:01  [ТС]
Как раз таки нет
могу скинуть прогу на почту, глянешь, скажешь что ещё можно оптимизировать
И что можно сделать что бы лучше работало
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 03:03
Да кидайте лучше сюда, может кто еще что полезное скажет
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 03:08  [ТС]
Странно, закидываю весь проект в архив, но когда его распаковываю, пишет ошибку:/
Вложения
Тип файла: zip Волейбол.zip (539.1 Кб, 3 просмотров)
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 03:14
Gambetta, у вас там вместо своих классов какие-то жуткие массивы тестбоксов и лейблов Прочитайте про ООП, жить станет намного проще

Добавлено через 1 минуту
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
        private void AddGame1Part1_Click(object sender, EventArgs e)
        {
            c4etGame1(0);
        }
        private void AddGame1Part2_Click(object sender, EventArgs e)
        {
            c4etGame1(1);
        }
        private void AddGame1Part3_Click(object sender, EventArgs e)
        {
            c4etGame1(2);
        }
        private void AddGame2Part1_Click(object sender, EventArgs e)
        {
            c4etGame2(0);
        }
        private void AddGame2Part2_Click(object sender, EventArgs e)
        {
            c4etGame2(1);
        }
        private void AddGame2Part3_Click(object sender, EventArgs e)
        {
            c4etGame2(2);
        }
А вот это то самое дублирование, которое я предполагал Подобные вещи делаются подпиской на один обработчик всех кнопок.
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 31
25.01.2016, 03:17  [ТС]
Ну слушай, если это 90% всего кода, то...
Я только начал программировать, это 2 моя программа. 1 была в 2012 году))
Потихоньку читаю, добавляю что то новое, оптимизирую, то что есть)
сначала не было ни одного массива
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
25.01.2016, 03:25
Gambetta, это просто самый яркий пример, остальное тоже очень быстро сокращается, если вместо массивов текстбоксов и прочего сделать классы и списки Точнее пока не скажу, ибо не до конца понял, что вообще по задумке должна делать программа
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2016, 03:25
Помогаю со студенческими работами здесь

Имитация нажатия клавиши (цифры) не работает, если включен NumLock
Всем привет, прошу помочь, необходимо чтобы программа сама имитировала нажатие клавиши 9 без всякого вмешательства, если включен Num Lock,...

Не работает форма на разсылку сообщения
Привет всем! И снова я практикуюсь и пишу скрипты. Должна быть форма на разсылку сообщения. Выдает ошибку: Parse error: syntax error,...

Функция отправки сообщения работает неправильно
Здраствуйте.Решил сделать контактную форму с php обработчиком. Вродебы код правильный, но при прочтении сообщения я вижу только дату и...

Не работает команда отправки почтового сообщения
Коллеги, добрый день! Помогите, пожалуйста, начинающему скриптописателю. Итак: Linux CentOS 6, bash Ниже скрипт: !#/bin/bash ...

Не работает отправка сообщения с помощью SmtpClient
using System.Net.Mail; using System.Net; namespace ConsoleApplication2 { class Program { static void...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru