PDA

Просмотр полной версии : [Помогите!] Эмуляция нажатий кнопок с клавиатуры


Egleman
25.07.2013, 09:06
Народ, кто-нибудь знает как программно нажать на кнопку с клавиатуры? Тоесть я в Visual Studio 2012 пишу программу с формой и на форме есть бутон, который при нажатии на него должен выводить цифру 5.
Подскажите код програмного нажатия на клавиатуру!

Keybd_event не работает, но я точно не знаю! Вдруг просто нужно подключить какую-нибудь dll или библиотеку. Подскажите!

OneShot
29.07.2013, 16:03
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Думаю разберешься

Monkeyman
12.08.2013, 14:53
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Думаю разберешься

Спасибо, конечно, но мне не нужны код клавишь. Мне нужна команда, но keybd_event не работает!

twice
12.08.2013, 15:31
Нужно послать окну сообщение о нажатии клавиши (SendMessage).

Рабочий код приведен ближу к концу тут -> [Ссылки могут видеть только зарегистрированные и активированные пользователи]

Monkeyman
14.08.2013, 12:33
Нужно послать окну сообщение о нажатии клавиши (SendMessage).

Рабочий код приведен ближу к концу тут -> [Ссылки могут видеть только зарегистрированные и активированные пользователи]


Неработает твой SendMessage.


1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(12): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "hWnd"
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(12): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(12): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(115): error C2065: WM_KEYDOWN: необъявленный идентификатор
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(115): error C2065: VK_NUMPAD1: необъявленный идентификатор
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(115): error C3861: SendMessage: идентификатор не найден

twice
16.08.2013, 14:52
Неработает твой SendMessage.


1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(12): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "hWnd"
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(12): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(12): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(115): error C2065: WM_KEYDOWN: необъявленный идентификатор
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(115): error C2065: VK_NUMPAD1: необъявленный идентификатор
1>c:\users\сергей\documents\visual studio 2010\projects\экранная клавиатура\экранная клавиатура\Form1.h(115): error C3861: SendMessage: идентификатор не найден

#include <windows.h>

Monkeyman
17.08.2013, 01:39
#include <windows.h>



Подключал я это!


проблема вот в чём: Есть texBox1 и есть 2 бутнона. 1-ый бутон называеться "M" 2-ой "A". Пишу код для первого бутона textBox1->Text = "M"; Пишу код для второго бутона textBox1->Text = "A";
Нажимаю на бутон "M" и в textBox'e появляется "M", нажимаю на бутон "A" и "A" появляется в textBox'e, но затирает уже нажатую кнопку "M". Я хочу, чтобы при нажатии на бутоны буквы не затирали друг друга

Sinyss
17.08.2013, 03:24
Подключал я это!


проблема вот в чём: Есть texBox1 и есть 2 бутнона. 1-ый бутон называеться "M" 2-ой "A". Пишу код для первого бутона textBox1->Text = "M"; Пишу код для второго бутона textBox1->Text = "A";
Нажимаю на бутон "M" и в textBox'e появляется "M", нажимаю на бутон "A" и "A" появляется в textBox'e, но затирает уже нажатую кнопку "M". Я хочу, чтобы при нажатии на бутоны буквы не затирали друг друга
Серьезно, то есть вместо того что бы прибавить символ, вы решили стереть библиотеку и тем самым вызвать кучу ошибок в коде?

Monkeyman
17.08.2013, 12:03
Серьезно, то есть вместо того что бы прибавить символ, вы решили стереть библиотеку и тем самым вызвать кучу ошибок в коде?

ДА не стирал я никакую библиотеку! Я наоборот windows.h подключишь ещё до того как мне посоветывали!

twice
19.08.2013, 08:46
В общем так, проблема с ошибками решается подключением указанного ранее заголовочника.
Проблема с символами решается заменой твоих строк присваивания на кнопках на:
TextBox1->Text += "A";
TextBox1->Text += "M";

ГоГоГоГоГоГоГо
23.08.2013, 22:29
del