ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Переназначение клавиш
  #1  
Старый 03.12.2009, 19:38
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
Провел на форуме:
98006

Репутация: 17
Отправить сообщение для DeaD_MoroZ с помощью ICQ
По умолчанию Переназначение клавиш

Собственно, у кого есть какие мысли по поводу:например, сделать так что бы при нажатии на славишу alt печатолось слово ПРИВЕТ(не в отдельной просграмме, а в Windows в целом).
Scancode Map не предлагать, так как мне нужно задать фразу на клавишу. Я понимаю что надо с хуками работать, но не могу сообразить как...

Последний раз редактировалось DeaD_MoroZ; 03.12.2009 в 20:10..
 
Ответить с цитированием

  #2  
Старый 03.12.2009, 23:35
SultanOFF
Участник форума
Регистрация: 04.06.2009
Сообщений: 176
Провел на форуме:
840493

Репутация: 0
По умолчанию

хм перехватывать клавишу alt допустим..
 
Ответить с цитированием

  #3  
Старый 04.12.2009, 05:36
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
Провел на форуме:
98006

Репутация: 17
Отправить сообщение для DeaD_MoroZ с помощью ICQ
По умолчанию

Цитата:
Сообщение от SultanOFF  
хм перехватывать клавишу alt допустим..
обсолютно не понял ответа... тебе для справки: код клавиши ALT --> 164
а код "привет" --> 71,72,66,68,84,78

Последний раз редактировалось DeaD_MoroZ; 04.12.2009 в 05:40..
 
Ответить с цитированием

  #4  
Старый 04.12.2009, 07:00
mr. ZetRikS
Познающий
Регистрация: 17.07.2009
Сообщений: 47
Провел на форуме:
131272

Репутация: 4
По умолчанию

В архиве трейнер к игрушке, когда то занимался, вот чей то сорец завалялся, в нём как раз то чт тебе нуна

_http://narod.ru/disk/15642683000/Trainer.template.delphi-M_A_R_T.rar.html

P.S. если я правильно тебя понял...
 
Ответить с цитированием

  #5  
Старый 04.12.2009, 11:41
flacs
Познающий
Регистрация: 28.01.2009
Сообщений: 90
Провел на форуме:
432613

Репутация: 80
По умолчанию

Цитата:
procedure SendKey(H: Hwnd; Key: char);

procedure SendShift(H: HWnd; Down: Boolean);
var vKey, ScanCode, wParam: Word;
lParam: longint;
begin
vKey:= $10;
ScanCode:= MapVirtualKey(vKey, 0);
wParam:= vKey or ScanCode shl 8;
lParam:= longint(ScanCode) shl 16 or 1;
if not(Down) then lParam:= lParam or $C0000000;
SendMessage(H, WM_KEYDOWN, vKey, lParam);
end;

procedure SendCtrl(H: HWnd; Down: Boolean);
var vKey, ScanCode, wParam: Word;
lParam: longint;
begin
vKey:= $11;
ScanCode:= MapVirtualKey(vKey, 0);
wParam:= vKey or ScanCode shl 8;
lParam:= longint(ScanCode) shl 16 or 1;
if not(Down) then lParam:= lParam or $C0000000;
SendMessage(H, WM_KEYDOWN, vKey, lParam);
end;

var vKey, ScanCode, wParam: Word;
lParam, ConvKey: longint;
Shift, Ctrl: boolean;
begin
ConvKey:= OemKeyScan(ord(Key));
Shift:= (ConvKey and $00020000) <> 0;
Ctrl:= (ConvKey and $00040000) <> 0;
ScanCode:= ConvKey and $000000FF or $FF00;
vKey:= ord(Key);
wParam:= vKey;
lParam:= longint(ScanCode) shl 16 or 1;
if Shift then SendShift(H, true);
if Ctrl then SendCtrl(H, true);
SendMessage(H, WM_KEYDOWN, vKey, lParam);
SendMessage(H, WM_CHAR, vKey, lParam);
lParam:= lParam or $C0000000;
sleep(50);
SendMessage(H, WM_KEYUP, vKey, lParam);
if Shift then SendShift(H, false);
if Ctrl then SendCtrl(H, false);
end;



procedure SendString(H: HWND; s: string);
var i: integer;
begin
for i:=1 to Length(s) do SendKey(H, s[i]);
end;

procedure timer;
var PT: TPoint;
begin
while true do begin
GetCursorPos(PT);
getasynckeystate(164);
if getasynckeystate(164)<>0 then SendString(WindowFromPoint(PT),'Привет!');
sleep(1);
end;
end;

var TID: cardinal;
begin
createthread(nil,0,@timer,nil,0,TID);
end.
Отправляет в любое окно, но надо мышкой подвести указатель к тому окну =)
 
Ответить с цитированием

  #6  
Старый 04.12.2009, 13:49
DeaD_MoroZ
Banned
Регистрация: 03.11.2009
Сообщений: 112
Провел на форуме:
98006

Репутация: 17
Отправить сообщение для DeaD_MoroZ с помощью ICQ
По умолчанию

Спасибо. Но я сделал по своему, и у меня один вопрос:как сделать что бы полностью заблокировать функцию кнопки(программа при нажатии home печатает "привет" и при повторном переходит в начало строки и опять печатает "привет")
Мож кому надо--> http://slil.ru/28295384 пароль:serega

Последний раз редактировалось DeaD_MoroZ; 04.12.2009 в 20:21..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Светильник в виде клавиш Ctrl, Shift и Del Neogan Мировые новости 19 20.10.2009 22:53
Power-Line Exploit регистрирует нажатия клавиш при помощи розеток и лазеров Glynec Мировые новости 14 15.07.2009 14:40
Нажатие клавиш в Counter Strike sn0w С/С++, C#, Delphi, .NET, Asm 5 20.03.2009 19:50
Посылка нажатия клавиш в игру Mirovan С/С++, C#, Delphi, .NET, Asm 8 12.12.2008 11:51
Перехват клавиш вне программы в Vb 0pen-5ource Статьи 5 16.08.2006 20:04



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ