Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2011, 17:08   #1
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость keybd_event в c#

Уже 10+ примеров функции перерыл....

Импортирую...

Код:
       [DllImport("user32.dll")]
        public static extern void keybd_event(Keys bVk, byte bScan, UInt32 dwFlags, IntPtr dwExtraInfo);

        public const UInt32 KEYEVENTF_EXTENDEDKEY = 1;
        public const UInt32 KEYEVENTF_KEYUP = 2;
Вызываю...

Код:
keybd_event(Keys.Return, 0, 0, 0);
// или
keybd_event(VK_RETURN, 0, 0, 0);
// или
keybd_event(0x0D, 0, 0, 0);
Ошибка (Неверно заданы параметры)

Код:
Error	1	The best overloaded method match for 'WindowsFormsApplication1.Program.keybd_event(System.Windows.Forms.Keys, byte, uint, System.IntPtr)' has some invalid arguments	C:\Hot_Keys\WindowsFormsApplication1\Program.cs	31	13	WindowsFormsApplication1

Как програмно нажать Enter в С# ?

Последний раз редактировалось Lemo; 05.02.2011 в 17:10.
Lemo вне форума Ответить с цитированием
Старый 05.02.2011, 17:32   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

http://www.pinvoke.net/default.aspx/...ybd_event.html

Код:
void PressKey( byte keyCode )
    {
        const int KEYEVENTF_EXTENDEDKEY = 0x1;
        const int KEYEVENTF_KEYUP       = 0x2;
        keybd_event( keyCode, 0x45, KEYEVENTF_EXTENDEDKEY, 0 );
        keybd_event( keyCode, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
    }
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.02.2011, 17:36   #3
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Разобрался...

Пример нажатия клавиши "С"

Код:
 keybd_event(Keys.Control, 0, 0, IntPtr.Zero);
 keybd_event(Keys.C, 0, KEYEVENTF_KEYUP, IntPtr.Zero);

Последний раз редактировалось Lemo; 05.02.2011 в 18:40.
Lemo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция keybd_event Hintman Win Api 31 05.06.2011 14:16
keybd_event[большие и маленькие буквы] Disorder Общие вопросы Delphi 3 23.10.2010 23:47
keybd_event() Умед Общие вопросы Delphi 4 26.07.2010 13:49
Проблемы с keybd_event AxenicX Win Api 0 06.02.2010 23:44
keybd_event [Smarik] Win Api 1 23.03.2008 18:11