Cubic Cheats
Seja Bem Vindo a Cubic Cheats
Cubic Cheats
Seja Bem Vindo a Cubic Cheats

Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

#1Hotkey modulo 2 para bpt  Empty Hotkey modulo 2 para bpt Seg Fev 24, 2014 6:24 pm

pentelhok
Memberr

HotKeys no Delphi

HotKey : Serve para definir atalhos de comando no teclado , utilizamos para facilitar o uso de algumas funcoes de determinados programas , desde F1 a CTRL.E importante sabermos de algumas coisas antes de comecar a codar no Delphi.
Curiosidade : h t t p: / / w w w . addictivetips . com /windows ... ltimate-guide/
O Windows 7 possui 30 novas hotkeys para agilizar o trabalho de todos e os comandos como eu disse anteriormente acima.
Texto abaixo retirado do : ht tp : / / informatica . hsw . uol. com . br /

Do teclado para o computador

Quando você digita, o processador no teclado analisa a matriz de teclado e determina quais caracteres enviará ao computador. Ele mantém estes caracteres na memória buffer e então envia estes dados.
Muitos teclados se conectam ao computador por meio de um cabo com o conector PS/2 ou USB (Universal Serial Bus). Os laptops usam conectores internos. Não importa que tipo de conector seja usado, o cabo precisa levar energia ao teclado e também precisa levar sinais do teclado de volta para o computador.
Os teclados sem fio, por outro lado, conectam-se ao computador através de raios infravermelhos (IR), rádiofreqüência (RF) ou conectores Bluetooth. Conexões IR e RF são parecidas com as que vamos encontrar em um controle remoto. Não importa que tipo de sinal eles usam, os teclados sem fio precisam de um receptor, seja embutido ou conectado a uma porta USB, para se comunicarem com o computador. Como eles não têm uma conexão com o computador, eles possuem também uma conexão de energia AC ou usam baterias para energia.
Seja através de um cabo ou sem fio, o sinal do teclado é monitorado pelo controlador de teclado do computador. Este é um circuito integrado (IC) que processa todos os dados que vêm do teclado e os transfere para o sistema operacional. Quando o sistema operacional (OS) é notificado que há dados do teclado, ele faz uma verificação para ver se os dados do teclado são um comando de nível de sistema. Um bom exemplo disto é Ctrl-Alt-Delete em um computador Windows, que reinicia o sistema. Então o sistema operacional passa os dados do teclado para o aplicativo em questão.
O aplicativo determina se o dado do teclado é um comando, como Alt-f, que abre um menu de arquivos em um aplicativo do Windows. Se o dado não for um comando, o aplicativo aceita-o como conteúdo,que pode ser desde uma digitação em um documento até uma entrada em uma página da Internet para fazer uma operação. Se um aplicativo em questão não aceitar os dados do teclado, ele simplesmente ignora a informação. Todo este processo, de pressionar uma tecla até dar entrada no conteúdo de um aplicativo, acontece quase instantaneamente.
Interessante ne ? Se voce leu ate aqui vamos comecar a programar
Delphi 7 :
Modo 1 de HotKeys
Crie o seu projeto apos isto , declare na sessao private o procedimento para mensagem.


Codigo:
private
procedure WMHotkey(var Msg: TWMHotkey); message WM_HOTKEY;

Apos isso declare nas variaveis o seguinte


[spoiler="Codigo"]
Codigo:
var
exTref: TexTref;

Ante de tudo vamos codar uma procedure para freezar checkboxes que eu fiz a algum tempo



Codigo:
procedure Freezar(checkbox:tcheckbox); // veja que eu crio e deixo o elemento checkbox indefinido , voce ira definir na procedure
begin
with checkbox do begin
case checked of
true:
begin
checked:=false;
end;
false:
checked:=true;
end;
end;
end;
Caso tenha dificuldade para interpretar a procedure acima , me avise.

Agora vamos codar a procedure das hotkeys
O que consiste o codigo abaixo ?
Trata-se do corpo das mensagens essa procedure sera onde ira ficar os comandos do que irei fazer depois , vejam.
TexTref = Nome Da Minha Form



Codigo:
procedure TexTref.WMHotKey(var Msg: TWMHotKey);
begin
case Msg.HotKey of // caso a mensagem da hotkey for
1: begin //primeiro
ShowMessage('Ctrl + J Funcionou');
2 : begin // outro ?
ShowMessage('Ctrl + A Funcionou');
end;
end;
end;
Insira um timer com intervalo de 1

Codigo:
Vamos agora para outro metodo que ja postei anteriormente , porem ele tem um defeito , ele acaba ativando e as vezes falha na ativacao da hotkey , porem e muito bom tambem e mais simples.
Modo 2 - HotKey

Codigo:
var
comando : boolean;
procedure TForm1.FormCreate(Sender: TObject);
begin
Comando := true;
end;
Neste exemplo iremos usar apenas uma function que eu fiz para facilitar e o resto fica facil.
function TForm1.Asskiller(Ass : integer):boolean;
begin
Result := False;
if odd(GetAsyncKeyState(Ass)) then
Result := True;
end;

Apos isso declare um timer interval 1 e escreva o seguinte

Codigo:
procedure TexTref.keyTimer(Sender: TObject);
begin
if Asskiller(VK_12) then
ShowMessage('F12 Funcionou');
If Asskiller($4A) and Asskiller(VK_CONTROL) then
ShowMessage('Ctrl + J Funcionou');
end;
Neste metodo as hotkeys utilizadas sempre serao necessarias utilizar os codigos da tabela ASCII

Ao Final - Tabela da ASCII

Codigo:
VK_LBUTTON 01 Left mouse button
VK_RBUTTON 02 Right mouse button
VK_CANCEL 03 Control-break processing
VK_MBUTTON 04 mIddle mouse button
VK_BACK 08 BACKSPACE
VK_TAB 09 TAB
VK_CLEAR 0C CLEAR
VK_RETURN 0D ENTER
VK_SHIFT 10 SHIFT
VK_CONTROL 11 CTRL
VK_MENU 12 ALT
VK_PAUSE 13 PAUSE
VK_CAPITAL 14 CAPS LOCK
VK_ESCAPE 1B ESC
VK_SPACE 20 SPACEBAR
VK_PRIOR 21 PAGE UP
VK_NEXT 22 PAGE DOWN
VK_END 23 END
VK_HOME 24 HOME
VK_LEFT 25 LEFT ARROW
VK_UP 26 UP ARROW
VK_RIGHT 27 RIGHT ARROW
VK_DOWN 28 DOWN ARROW
VK_SELECT 29 SELECT
VK_PRINT 2A PRINT
VK_EXECUTE 2B EXECUTE
VK_SNAPSHOT 2C PRINT SCREEN
VK_INSERT 2D INS
VK_DELETE 2E DEL
VK_HELP 2F HELP
30 0
31 1
32 2
33 3
34 4
35 5
36 6
37 7
38 8
39 9
41 A
42 B
43 C
44 D
45 E
46 F
47 G
48 H
49 I
4A J
4B K
4C L
4D M
4E N
4F O
50 P
51 Q
52 R
53 S
54 T
55 U
56 V
57 W
58 X
59 Y
5A Z
VK_NUMPAD0 60 Numeric keypad0
VK_NUMPAD1 61 Numeric keypad1
VK_NUMPAD2 62 Numeric keypad2
VK_NUMPAD3 63 Numeric keypap3
VK_NUMPAD4 64 Numeric keypad4
VK_NUMPAD5 65 Numeric keypad5
VK_NUMPAD6 66 Numeric keypad6
VK_NUMPAD7 67 Numeric keypad7
VK_NUMPAD8 68 Numeric keypad8
VK_NUMPAD9 69 Numeric keypad9
VK_SEPARATOR 6C Separator
VK_SUBTRACT 6D Subtract
VK_DECIMAL 6E Decimal
VK_DIVIDE 6F Divide
VK_F1 70 F1
VK_F2 71 F2
VK_F3 72 F3
VK_F4 73 F4
VK_F5 74 F5
VK_F6 75 F6
VK_F7 76 F7
VK_F8 77 F8
VK_F9 78 F9
VK_F10 79 F10
VK_F11 7A F11
VK_F12 7B F12
VK_F13 7C F13
VK_F14 7D F14
VK_F15 7E F15
VK_F16 7F F16
VK_F17 80H F17
VK_F18 81H F18
VK_F19 82H F19
VK_F20 83H F20
VK_F21 84H F21
VK_F22 85H F22
VK_F23 86H F23
VK_F24 87H F24
VK_NUMLOCK 90 NUM LOCK
VK_SCROLL 91 SCROLL LOCK
VK_LSHIFT A0 Left SHIFT
VK_RSHIFT A1 Right SHIFT
VK_LCONTROL A2 Left CONTROL
VK_RCONTROL A3 Right CONTROL
VK_LMENU A4 Left MENU
VK_RMENU A5 Right MENU
VK_PLAY FA Play
VK_ZOOM FB Zoom

Viu ? Este e bem mais simples porem pior na questao de ativacao pois , quando voce usar ele por exemplo em um jogo em que voce digita muito , voce vai acabar ativando algum Cheat sem quere , isso possivelmente as vezes pela configuracao de algo no programa ou pelo intervalo de ativacao.
E pelo segundo metodo ocupar menos espaco no buffer da memoria.
Todos os dois metodos sao validos para quem quiser testar ou verificar algum BUG , so relatar aqui

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]


Tópicos semelhantes

-

» colocando hotkey no seu trainer

Permissões neste sub-fórum
Não podes responder a tópicos