تبلیغات

آموزش استفاده از کتابخانه ماوس و کیبورد فول کده + dll

آموزش استفاده از کتابخانه ماوس و کیبورد در سی شارپ


اگر نرم افزار «Advanced Key And Mouse Recorder» دیده باشید، می‌دانید که ابزاری قدرتمند در زمینه ضبط تمام فعالیت های ماوس و صفحه‌کلید برای انجام خودکار کارهای تکراری می‌باشد. یعنی شما توسط این نرم افزار می‌توانید حرکات ماوس، کلیک ماوس و ضربه صفحه کلید در هر برنامه از جمله بازی، نرم افزار نقاشی، واژه پرداز و … را ضبط و سپس پخش کنید! به طوری که کامپیوتر خودش کلیک کرده و عملیات را انجام دهد!

حالب است بدانید که از این تکنیک در گذشته برای ساخت نرم‌افزارهای ارسال تبلیغات انبوه در پیام‌رسان‌هایی مثل تلگرام و وایبر استفاده ‌میشد! به این صورت که فرآیند ارسال تبلیغات یک بار ضبط میشد و سپس به صورت خودکار در نرم‌افزار مربوط به آن پیام‌رسان بارها و بارها تکرار میشد!

اما حالا شاید بخواهید این قابلیت را خودتان در نرم‌افزاری که می‌نویسید پیاده کنید! یعنی نرم افزار شما بتواند کلیک شدن کیبورد، کلیدهای ترکیبی، تغییر مکان ماوس، کلیک چپ، کلیک راست و … را شبیه سازی کرده و همچنین بفهمد که ماوس در کدام نقطه کلیک کرده است تا مختصات آن را بگیرد.

برای انجام این کار، کتابخانه‌ای به نام «Mouse_Keyboard» را برایتان آماده کرده ایم که به وسیله‌ی آن می‌توانید این کارها را به سادگی انجام دهید.

کلاس‌های موجود در کتابخانه

کلاس MouseSimulator: این کلاس وظایف زیر را برعهده دارد.

  • کلیک چپ ماوس
  • کلیک راست ماوس
  • تغییر مکان نشناگر یا فلش ماوس در صفحه نمایش
  1. متد leftClick
    با گرفتن ورودی x و y که به ترتیب فاصله از چپ و فاصله از بالا می باشند، عمل کلیک چپ ماوس را انجام می دهد.
    توجه کنید که منظور از فاصله از چپ و بالا یعنی مختصات محلی که قرار است کلیک چپ شود.
  2. متد rightClick
    با گرفتن ورودی x و y که به ترتیب فاصله از چپ و فاصله از بالا می باشند، عمل کلیک راست ماوس را انجام می دهد.
    توجه کنید که منظور از فاصله از چپ و بالا یعنی مختصات محلی که قرار است کلیک راست شود.
  3. متد moveCursor
    با گرفتن ورودی x و y که به ترتیب فاصله از چپ و فاصله از بالا می باشند، عمل تغییر مکان ماوس را انجام می دهد.
    توجه کنید که منظور از فاصله از چپ و بالا یعنی مختصات محلی که قرار است علامت یا نشانگر ماوس به آن جا برود.

کلاس MouseEvent
این کلاس وظیفه گوش کردن به رویداد های ماوس را برعهده دارد. (نیازی به ساخت نمونه از کلاس نیست)
رویداد کلیک شدن در جایی و گرفتن مختصات محل کلیک شده، وظیفه این کلاس می باشد.

  1. متد start
    وقتی صدا زده شه فرایند گوش دادن به رویداد کلیک شدن ماوس شروع می شه.
  2. متد stop
    وقتی صدا زده شه فرایند گوش دادن به رویداد کلیک شدن ماوس توقف می شه.
  3. اختصاص دادن رویداد به شرح زیر است

که در این جا MouseEvent_MouseAction نام متدی است که رویداد در آن اتفاق می افتد:

آبجکت sender از نوع Point می باشد پس آن را به نوع Point که تعریف می کنیم cast کرده و مختصات را از آن  می گیریم 🙂


کلاس KeySimulator
این کلاس برای فشار دادن دکمه و رها کردن دکمه و کلیدهای ترکیبی می باشد.

  1. متد keyDown
    این متد با گرفتن مقدار بایت کلید، آن را فشار داده و رها نمی کند، یعنی فرض کنید شما دکمه Space را پایین برده و هنوز رها نکرده اید.

    در مورد مقداری که این متد می گیرید در آخر بحث خواهیم کرد.
  2. متد keyUp
    این متد با گرفتن مقدار بایت کلید، آن را رها می کند، یعنی اگر به فرض توسط متد بالا پایین رفته باشد، با این متد می توان آن را رها کرد.

    در مورد مقداری که این متد می گیرد در آخر بحث خواهیم کرد.
  3. متد keyPress
    این متد با گرفتن مقدار بایت کلید، دو عمل بالا را به صورت پشت سرهم انجام میدهد، یعنی یک فشار دادن و رها کردن.

    در مورد مقداری که این متد می گیرد در آخر بحث خواهیم کرد.
  4. متد ctrl_plus
    این متد با گرفتن مقدار بایت کلید، عمل کلیدهای ترکیبی ctrl+… را انجام می دهد.

    در مورد مقداری که این متد می گیرد در آخر بحث خواهیم کرد.
  5. متد alt_plus
    این متد با گرفتن مقدار بایت کلید، عمل کلیدهای ترکیبی alt+… را انجام می دهد.

    در مورد مقداری که این متد می گیرد در آخر بحث خواهیم کرد.
  6. متد shift_plus
    این متد با گرفتن مقدار بایت کلید، عمل کلیدهای ترکیبی shift+… را انجام می دهد.

    در مورد مقداری که این متد می گیرد در آخر بحث خواهیم کرد.

نکته: توجه داشته باشید که شما خودتان هم به وسیله متدهای keyDown و keyUp و keyPress می توانید عملیات کلیدهای ترکیبی را انجام دهید.

مقدارهایی که متدها می گیرند:
متدها مقدار بایتی را قبول می کنند که این مقدار بایت برابر است با یک عدد که معمولا آن را با فرمت هگزادسیمال نمایش می دهند و هگزادسیمال مبنای 16 عدد می باشد. برای مثال مقدار هگزادسیمال کلید F روی کیبورد برابر با 0x46 و مقدار کلید H برابر 0x48 می باشد که می توان به این صورت هم نوشت و هر کدام به ترتیب عدد 70 و عدد 72 را نمایش می دهند که با استفاده از فرمول های ریاضی قابل تبدیل هستند و همچنین می توانید یک متغیر عددی را تعریف کرده و این مقدارهای هگزادسیمال را به آن ها نسبت دهید، کامپیوتر خود همه این ها را به 01 که در اصل مبنای 2 می باشد تبدیل خواهد کرد.

نکته: همچنین شما پس از نسبت دادن مقدار به صورت هگزادسیمال، اگر آن را نمایش دهید به صورت دسیمال یا مبنای 10 نمایش داده خواهد شد.

نیازی نیست شما این ها را حفظ باشید چون همه آن ها در کلاس KeyHexValues جمع آوری شده اند، همچنین می توانید از این سایت هم مشاهده کنید.

برای مثال در کلاس برای حرف F می نویسیم KeyHexValues.F و برای حرف H می نویسیم KeyHexValues.H و برای کلید space می نویسیم KeyHexValues.VK_SPACE و برای کلید ctrl می نویسیم KeyHexValues.VK_CONTROL و …

نکته: سورس نمونه ای هم به همراه فایل برایتان قرار داده شده است.

تبلیغات
0
کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس / مدیر فول کده

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه