С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
 Аватар для ABTOP
36 / 36 / 4
Регистрация: 09.06.2008
Сообщений: 324

Перехват нажатия кнопок

12.12.2008, 10:22. Показов 2824. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Надо что бы при нажатии кнопки Windows, на клавиатуре, не появлялось меню Пуск'а...

Code
1
if (Key=VK_LWIN) or (Key=VK_RWIN) then Key:=0;
такой код не катит...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2008, 10:22
Ответы с готовыми решениями:

Перехват нажатия стрелок клавиатуры в TPanel.
Я вот тут уже 3.5 часа бьюсь над задачей - нужно перехватить нажатие стрелок (на клавиатуре) над компонентом TPanel. При нажатие стрелки...

Калькулятор (перевод нажатия клавиш клавиатуры в нажатие кнопок)
Здравствуйте. У меня тут проблема-не могу запрограммировать калькулятор, чтобы он эмулировал нажатие клавиш(+,-,*,/,Esc и Enter), как в...

Как написать автоустановочник путем перехвата и имитации нажатия кнопок
Вот в частности хочу установить qip . Хотелось бы создать программу, которая бы сама установила, нажав определенные кнопки.

4
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
12.12.2008, 10:31
может, кто-то и знает, но мы когда-то долго мучались с этой бедой, так и не прибили программно эту беду, зато если после запуска проги прибить экплорер и не дать ему подняться (ключ в реестре), проблема решается))
0
 Аватар для ABTOP
36 / 36 / 4
Регистрация: 09.06.2008
Сообщений: 324
12.12.2008, 10:40  [ТС]
Цитата Сообщение от WooDooMan Посмотреть сообщение
прибить экплорер и не дать ему подняться (ключ в реестре)
ключ в реестре.. А если на компе стоит антивир? он же увидит обращение к реестру...
а как убить эксплорер?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
12.12.2008, 10:48
ну киляешь процесс апишными функциями, а ключ в реестре не помню, как зовется, но он отвечает за автоматический подъем экплорера
вот код, сорри, но он на сях, может поможет:
Code
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
38
39
40
41
42
43
44
45
46
47
48
KillExplorer(int id)
{
   HANDLE ps = OpenProcess(1, false, id);
   if (ps)
    TerminateProcess(ps, -9);
}
bool __stdcall EnumProc(HWND hWnd,/*LPARAM*/long/*lp*/)
{
   unsigned long* pPid;   //LPDWORD
   unsigned long result;      //DWORD
   void *hg;                  //HGLOBAL
   unsigned long id;
   if(hWnd==NULL)
      return false;
   hg = GlobalAlloc(GMEM_SHARE,sizeof(unsigned long));
   pPid = (unsigned long *)GlobalLock(hg);
   result = GetWindowThreadProcessId(hWnd,pPid);
   if(result){
      char title[110];
      char className[95];
      GetClassName(hWnd,className,95);
      GetWindowText(hWnd,title,110);
      id=*pPid;
      AnsiString str = "";
      str = (AnsiString)title;
      if (str.AnsiPos("Program Manager") != 0)
        KillExplorer(id);
      Form1->ListBox1->Items->Add((AnsiString)totalStr);
   }
   else{
      GlobalUnlock(hg);
      GlobalFree(hg);
      return false;
   }
   GlobalUnlock(hg);
   GlobalFree(hg);
   return true;
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  long lp=0;
  HKEY Handle;
  RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", 0, KEY_ALL_ACCESS, &Handle);
  unsigned char res[4] = {0, 0, 0, 0};
  RegSetValueEx(Handle, "AutoRestartShell", 0, REG_DWORD, res, 4);
  RegCloseKey(Handle);
  EnumWindows((WNDENUMPROC)EnumProc,lp);
}
0
 Аватар для ABTOP
36 / 36 / 4
Регистрация: 09.06.2008
Сообщений: 324
12.12.2008, 10:54  [ТС]
Спасибо и за это... Ладно прогу напишу не на Delphi, а на С, потому что это перевести проблематично будет...
Но если кто знает как зделать это на Delphi буду рад узнать тоже...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2008, 10:54
Помогаю со студенческими работами здесь

Перехват нажатия клавиш и сохранение в БД
Ребята, есть простейшая программа перехвата нажатия клавиш клавиатуры. Нужно сделать так, чтоб данные о нажатых клавишах сохранялись в БД....

Перехват нажатия клавиш
Задача вроде несложная: создать программу, которая отслеживает нажатия клавиш и выводит их на форму. В какую сторону копать, подскажите)

Фокус и перехват нажатия клавиш
Надо двигать курсором мыши клавишами со стрелками. Для главной формы написал обработку нажатия клавиш. Но фокус имеет один из внешних...

Перехват нажатия на кнопку пуск.
В общем нужно как нибудь перехватить нажатие на кнопку пуск и вместо стандартного окна кнопки пуск показать свое окно. Кто нибудь знает как...

Глобальный перехват нажатия комбинации клавиш
пытаюсь сделать я вот так function Key_Hook(Code: Integer; wParam: word; lParam: DWord): Longint; stdcall; export; var ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru