Fa On-Screen Keyboard

9up

Active Member
سلام
وقتی کلیدی از روی کیبرد زده بشه، اینتراپت سخت افزاری رخ میده و سپس کد کلید مربوطه رو به دست میآره.
وقتی که سخت افزاری وجود نداره، On-Screen Keyboard چطور این کارو انجام میده؟
یعنی بشه که یه کد رو نوشت و مثلا توسط اون کد دکمه Space (یا هر دکمه دیگه ای) شبیه سازی بشه و در واقع انگار که ما از روی کیبرد واقعی کلید Space رو فشردیم.

می خوام بدونم میشه با MMB یه چنین چیزی رو درست کرد؟ (اگه با نرم افزارهای دیگه میشه این کارو کرد لطفا راهنمایی کنید)
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
برنامه ی AutoIt بصورت خیلی ساده این امکان رو فراهم میکنه، این برنامه یکسری از توابعش رو بصورت یک فایل DLL منتشر کرده که توابع کنترل روی پنجره ها و SendKey هم جزو اون هست.
از طرفی پلاگینی برای MMB وجود داره بنام MMBDLL که امکان فراخوانی توابع از فایل های DLL (که چون بصورت پلاگین MMB منتشر نشدن درحالت عادی قابل دسترسی نیستن) رو فراهم میکنه
پس شما میتونید با استفاده از پلاگین MMBDLL و فایل AutoItX.dll خیلی راحت این کلیدها رو ارسال کنید.

اما این کلیدها به برنامه ی فعال فرستاده میشن، معنیش این هست که برنامه ی شما نباید Focus رو در اختیار بگیره (که درحالت عادی که روی پنجره یا اشیاء اون کلیک میشه Focus رو در اختیار میگیره)، پس این موضوع رو هم مرتفع کنید.
شاید پلاگین های موجود و یا حتی همین AutoItX.dll بتونه کمکتون کنه.
 

m javad

کاربر متخصص
پلاگین plugy امکان sendkey داره. فکر کنم میتونه برای هر پنجره ای ارسال کنه

در کل این کار ربطی به وجود کیبورد نداره!!!
خود کیبورد هم داره کد خاص هر دکمه رو برای سیستم ارسال میکنه. در لحظه فشار و در لحظه رها سازی
با زبانهای برنامه نویسی شما به راحتی میتونید این کار رو بکنید.الزامی هم نیست که پنجره مورد نظر حتما فوکوس و پنجره فعال باشه
شما حتی میتونید با به دست آوردن هندل اشیا داخل یه برنامه دیگه ، اطلاعات خاصی رو نه به پنجره ، بلکه مخصوصا به یک شی خاص داخلش ارسال کنید.
توجه داشته باشید که اکثر این کار ها از توابع API خود ویندوز هستند و با تمام زبانها و یا برنامه هایی که توان برقراری ارتباط با این توابع رو دارن به راحتی میشه این کار رو کرد.
 

جدیدترین ارسال ها

بالا