Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 56
1

Глобальные горячие клаваши

11.06.2011, 15:34. Показов 587. Ответов 0
Метки нет (Все метки)

Например. Имеется моя программа - плейр. И когда окно плейра не активно, нужно, чтобы ним можно было управлять посредством некоторых клавиш, работая в других программах. Но эти клавиши блокируются в других программах и работают только в моей. Например, запустил я плейр, открыл Блокнот и печатаю там текст, и при нажатии горячей клавиши ('e' код=69) плейр отреагировал как надо, но вот только в блокноте буквы 'e' нету. Просьба исправить текст программы ниже или помочь советом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include<windows.h>
HINSTANCE hInst;
HWND hWnd;
 
LRESULT CALLBACK WndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{ switch(Msg)
  { case WM_HOTKEY:
      switch(HIWORD(lParam))
      { case 69: //при нажатии Е всплывает окошко
          MessageBox(hWnd,L"Тест",L"ОК",MB_OK);
          break;
      }
      break;
    case WM_CREATE:
      RegisterHotKey(hWnd,25,0,69); //зарегистрировал "горячую клавишу" в системе
      break;
    case WM_DESTROY:
      PostQuitMessage(0);
      break;
    default:
      return(DefWindowProc(hWnd,Msg,wParam,lParam));
  }
}
 
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int)
{ MSG Msg;
  WNDCLASS wc;
  ZeroMemory(&wc,sizeof(WNDCLASS));
  wc.lpfnWndProc=WndProc;
  wc.lpszClassName=L"MainWnd";
  wc.hInst=hInst;
  RegisterClass(&wc);
  hWnd=CreateWindow(L"MainWnd",L"ZZZ",WS_OVERLAPPEDWINDOW|WS_VISIBLE,0,0,100,100,NULL,NULL,hInst,NULL);
  while(GetMessage(&Msg,0,0,0))
    DispatchMessage(&Msg);
  return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2011, 15:34
Ответы с готовыми решениями:

Глобальные горячие клавиши
Народ помогите разобраться как сделать чтоб горячие клавиши работали глобально! Т.е. чтобы действие...

Глобальные горячие клавиши RegisterHotKey
Всем привет! У меня что-то не получаеться сделать глобальные клавиши с помощью функции...

Как сделать глобальные горячие клавиши
Как сделать глобальные горячие клавиши как Winamp или Aimp. К примеру ты играешь и слушаешь музыку...

Глобальные горячие клавиши
интересно как создать, условия для программы примерно следующие программа скрыта из процессов,...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2011, 15:34

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Глобальные горячие клавиши
Я использую в своей программе горячие клавиши, и появилась потребность сделать их глобальными, что...

Как сделать глобальные горячие клавиши?
Как сделать глобальные горячие клавиши? Пользуюсь вот таким кодом public partial class Form1...

Глобальные горячие клавиши когда программа в трее
все привет. До сих пор пишу прогу для смены обоев и на завершающей стадии решил сделать...

Глобальные горячие клавиши не работают через событие KeyDown
Как создать 2 глобальные горячие клавиши, я создал функцию на форме KeyDown и написал туда ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.