|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
|
Как имитировать нажатие клавиш внутри формы c#28.06.2013, 12:57. Показов 3713. Ответов 17
Метки нет (Все метки)
Мне надо имитировать нажатие клавиши. Я пробовал в таймере вызывать класс SendKeys.SendWait("{TAB}"); Но если я переведу фокус на другое приложение, то там будет нажиматься "tab", а мне надо только внутри формы.
0
|
|
| 28.06.2013, 12:57 | |
|
Ответы с готовыми решениями:
17
Как имитировать нажатие мыши ВНУТРИ формы - Visual basic & C# ?
Как имитировать нажатие клавиш? |
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
||||||
| 28.06.2013, 15:57 | ||||||
|
А если проверять наличие фокуса у нужной формы, перед тем, как послать сообщение о нажатии клавииши TAB?
0
|
||||||
|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
|
| 28.06.2013, 16:07 [ТС] | |
|
Я рассматривал такой вариант, но мне всё же нужно найти способ, чтоб tab нажимался только на форме, в независимости от фокуса. На Delphi это возможно, неужели на C# нельзя так сделать?
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 28.06.2013, 16:15 | |
|
А кто вам мешает поставить фокус перед нажатием явно на нужную форму?
Добавлено через 2 минуты плюс думаю есть какие-то настройки, с помощью которых не получится перевести фокус на другое приложение или еще куда-то, ну это поискать надо
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
|
| 28.06.2013, 16:20 [ТС] | |
|
Нет, вы не поняли. Мне нужно, чтоб имитировалось нажатие на форме, а я, к примеру, мог в это время заниматься своими делами за компьютером.
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 28.06.2013, 16:34 | |
|
ага, а можно узнать э, какая именно задача, для чего на форме должны нажиматься клавиши? то есть вы как бы хотите, чтобы программа как бы работала в фоновом режиме, допустим свернута где-то в трее и при этом делала что-то себе там?
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
||
| 28.06.2013, 16:44 [ТС] | ||
Так скажите, возможно ли это на C#?
0
|
||
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
| 28.06.2013, 16:48 | |
|
@nextwe, посылайте сообщения через WINAPI (SendMessage)
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
||
| 28.06.2013, 17:00 | ||
|
Думаю возможно, но придется покопаться это точно, так за 5 минут эту задачу не решить, тем более если нет опыта в решении таких задач =) Такс, попробуем что-нибудь найти
Добавлено через 47 секунд Добавлено через 4 минуты На сколько я помню SendMessage просто отправляет некое сообщение в приложение, ну отправим мы сами же себе сообщение какое-то, а толку? другое дело, что можно попробовать с помощью вин апи имитировать нажатие клавиши, там скорей всего оно будет принимать хэндлер приложения, в котором необходимо это сделать, но муторно это все конечно) Добавлено через 6 минут Порыскал, порыскал, похоже тут без winapi не обойтись =)
0
|
||
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
||
| 28.06.2013, 17:07 | ||
|
0
|
||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
||
| 28.06.2013, 17:15 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
|
| 28.06.2013, 17:39 [ТС] | |
|
Я попробовал разобраться с SendMessage, но мне не удалось. Я пробовал искать примеры, но ничего не получилось. Не могли ли вы сказать, как именно пользоваться SendMessage.
using System.Runtime.InteropServices; [DllImport("user32")] static extern int SendMessage(int hWnd, uint Msg, int wParam, int lParam); Это то, что я нашёл. Но как это вызвать я не знаю.
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 28.06.2013, 17:52 | |
|
вот что нашел http://easylab.net.ua/winapi/spravochnik-po-winapi типа справочник по winapi, в общем поройтесь, найдите необходимую функцию, мне уходить надо сейчас, если что пишите, будем решать
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
|
| 28.06.2013, 18:50 [ТС] | |
|
Мне не удалось разобраться.
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 28.06.2013, 19:30 | |
|
угу, ну уже хорошо, ничего, разберемся =)
0
|
|
|
1 / 1 / 0
Регистрация: 07.09.2012
Сообщений: 17
|
||||||
| 28.06.2013, 21:05 [ТС] | ||||||
|
Короче, мне удалось сделать, чтобы текст вписывался в блокнот. Теперь помогите преобразовать, чтоб посылалось нажатие клавиши форме. Вот код
0
|
||||||
|
3 / 3 / 1
Регистрация: 29.06.2013
Сообщений: 29
|
|
| 29.06.2013, 01:22 | |
|
лучше бы написали приложение со своим браузером благо в два клика это делается....
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
||
| 29.06.2013, 06:48 | ||
|
j = SendMessage(h, WM_KEYDOWN, 'o', 1); j = SendMessage(h, WM_KEYUP, 'o', 1); то есть тебе надо найти хэндлер своего окна и ему послать нажатие и отпускание клавиши. еще там советуют прогу Spy++ через нее якобы можно все отглядеть, я думаю вам стоит более плотно почитать те обсуждения, там очень много полезной инфы
0
|
||
| 29.06.2013, 06:48 | |
|
Помогаю со студенческими работами здесь
18
Как имитировать нажатие клавиш? Как можно имитировать нажатие клавиш на клавиатуре без пользователя? Имитировать нажатие комбинации клавиш Имитировать нажатие клавиш в неактивном окне
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|