Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Программное нажатие клавиш с определённым интервалом.

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 17.06.2012, 20:35   #16
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Программное нажатие клавиш с определённым интервалом.

^Joker^, метод которым выполняешь нажатие, случайно не [Ссылки могут видеть только зарегистрированные пользователи. ]
Тут надо с WinAPI баловаться.
Импортируешь метод SendMessage
Код:
[DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam);
объявляешь константу с ID команды
Код:
public const Int32 WM_KEYDOWN = 0x0100;
[Ссылки могут видеть только зарегистрированные пользователи. ] смотришь коды кнопок и юзаешь это все вот так
Код:
SendMessage(this.Handle, WM_KEYDOWN, 0x0D, 0); //нажатие клавиши ENTER в окно программы
первый параметр - хендл окна, причем любого окна не обязательно своего
второй параметр команда, в данном случае нажатие клавиши
третий и четвертый параметры это параметры комманды, в нашем случае он всего 1, это клавиша

Добавлено через 9 минут
Кстати сразу не подумал, но можно вместо this.Handle использовать webBrowser1.Handle, так нажатие будет проходить сразу в браузер
________________
Talk is cheap. Show me the code
— Linus Torvalds

Последний раз редактировалось Yukikaze; 17.06.2012 в 20:44. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
крайслер (19.06.2012)
Старый 17.06.2012, 23:05   #17
 Разведчик
Аватар для НitBit
 
НitBit никому не известный тип
Регистрация: 01.11.2011
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Программное нажатие клавиш с определённым интервалом.

Цитата:
Сообщение от YukikazeПосмотреть сообщение
^Joker^, метод которым выполняешь нажатие, случайно не [Ссылки могут видеть только зарегистрированные пользователи. ]
Тут надо с WinAPI баловаться.
Импортируешь метод SendMessage
Код:
[DllImport("User32.DLL")]
public static extern int SendMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam);
объявляешь константу с ID команды
Код:
public const Int32 WM_KEYDOWN = 0x0100;
[Ссылки могут видеть только зарегистрированные пользователи. ] смотришь коды кнопок и юзаешь это все вот так
Код:
SendMessage(this.Handle, WM_KEYDOWN, 0x0D, 0); //нажатие клавиши ENTER в окно программы
первый параметр - хендл окна, причем любого окна не обязательно своего
второй параметр команда, в данном случае нажатие клавиши
третий и четвертый параметры это параметры комманды, в нашем случае он всего 1, это клавиша

Добавлено через 9 минут
Кстати сразу не подумал, но можно вместо this.Handle использовать webBrowser1.Handle, так нажатие будет проходить сразу в браузер

первый параметр - хендл окна, причем любого окна не обязательно своего. Можно по подробнее что бы в определенное окно посылалось допустим в какуюнибудь игру и что бы окно не находилось в фокусе?
  Ответить с цитированием
Старый 18.06.2012, 08:22   #18
Заблокирован
 Капитан
Аватар для TeedI
 
TeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака НоррисаTeedI троюродный дядя Чака Норриса
Регистрация: 11.08.2010
Сообщений: 254
Популярность: 9232
Сказал(а) спасибо: 300
Поблагодарили 334 раз(а) в 223 сообщениях
Отправить сообщение для TeedI с помощью ICQ
 
По умолчанию Re: Программное нажатие клавиш с определённым интервалом.

Цитата:
Сообщение от НitBitПосмотреть сообщение
первый параметр - хендл окна, причем любого окна не обязательно своего. Можно по подробнее что бы в определенное окно посылалось допустим в какуюнибудь игру и что бы окно не находилось в фокусе?

Код:
Process[] hProc = Process.GetProcessByName("notepad");

IntPtr hWnd = hProc[0].MainWindowHandle;
Если я все правильно помню

Можно еще так -
Код:
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

какой-то метод ()
{  
   IntPtr hWnd = FindWindow(null , "Игра");
}

Последний раз редактировалось TeedI; 18.06.2012 в 10:34.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Акк с удалённым мылом! Тим-09 Общение и обсуждение 3 12.03.2012 17:17
[Помогите!] Нажатие клавиш...в PB(point blank) -=ShoN=- Вопросы и ответы, обсуждения 8 30.12.2011 11:01
[Помогите!] С каким интервалом появляються ресы? Slipknot93 Общение и обсуждение Perfect World 12 03.12.2011 19:55
[Помогите!] Нажатие клавиш клавиатуры Roverpcs6 Вопросы и ответы, обсуждения 4 13.07.2011 18:28
[Подсказка] Быстрое нажатие клавиш для мага ziken Общение и обсуждение Perfect World 24 02.03.2011 23:52

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 15:55.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net