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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 14:14   #1
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
Вопрос Имитация клавиш Num, Caps, Scroll Lock

добро времени суток

Есть задача на СИ ни как не разберусь
надо сделать программу которая имитировала нажатие клавиш
в мое случаи это (Num Lock, Caps Lock, Scroll Lock)

Я делал так: узнавал значения которые дает клавиша при нажатом и отжатом, а потом это значение отправлял в буфер клавы чтобы он ее активировал, и не выходит подскажите пожалуйста.

как сделать имитацию подскажите уже 2 недели бьесь никак не разберусь?
X@OC вне форума Ответить с цитированием
Старый 31.05.2011, 14:18   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ОС то какая?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 31.05.2011, 15:19   #3
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

Windows XP

что там никак не сделать эту имитацию

а хоть в буфер помешение значение правильное направление или нет

Вот так я узнаю какая клавиша нажата или комбинация
Код:
#include<stdio.h>
#include<conio.h>
#include<dos.h>
main()
{
clrscr();
geninterrupt(0x16);
switch (_AL)
{
case 4: printf("nothing active"); break;
case 20: printf("Scroll"); break;
case 36: printf("Num"); break;
case 68: printf("Caps"); break;
case 52: printf("Num+Scroll"); break;
case 100: printf("Num+Caps"); break;
case 84: printf("Caps+Scroll"); break;
case 116: printf("Num+Caps+Scroll"); break;
default: printf("Error"); break;
}
getch();
}
а для имитации эти значения я отправлял в буфер клавиатуры и не работало

Последний раз редактировалось Stilet; 11.06.2011 в 16:15.
X@OC вне форума Ответить с цитированием
Старый 02.06.2011, 10:56   #4
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

http://support.microsoft.com/kb/177674/ru
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 02.06.2011, 11:09   #5
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

это же для Visual Basik
а я пытаюсь делать через прерывания 0x16 в CИ
X@OC вне форума Ответить с цитированием
Старый 05.06.2011, 00:58   #6
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
Сообщение от X@OC Посмотреть сообщение
это же для Visual Basik
а я пытаюсь делать через прерывания 0x16 в CИ
WinApi для всех языков общий.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 11.06.2011, 13:34   #7
ромик0
Форумчанин
 
Регистрация: 23.05.2011
Сообщений: 121
По умолчанию

Цитата:
/*ВЗЛЁТНАЯ ДОРОЖКА*/
#include <iostream.h>
#include <windows.h>



int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)

{

HWND hWnd;
hWnd = GetForegroundWindow();


while(true)
{

ShowWindow(hWnd,SW_MINIMIZE);







keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
Sleep(250);




keybd_event( VK_CAPITAL, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
keybd_event( VK_CAPITAL, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
Sleep(250);






keybd_event( VK_SCROLL , 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
keybd_event( VK_SCROLL , 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
Sleep(250);
}

return 0;
}

разберёшся
ромик0 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не включается Num Lock Alex Cones Общие вопросы Delphi 5 14.10.2014 11:55
проверка на Caps Lock beygul Помощь студентам 1 08.01.2010 01:18
Контроль Scroll Lock Altera Общие вопросы Delphi 14 08.11.2008 16:35
не получается изменить NUM,CAps,scroll Lock Reds Общие вопросы Delphi 1 29.09.2008 15:31
Накой кнопка Scroll Lock??? Altera Компьютерное железо 4 05.06.2008 00:42