PDA

View Full Version : keyboard مجازی



diamondiran
جمعه 30 مهر 1389, 19:06 عصر
سلام
من یه صفحه کلید میخوام درست کنم اما فقط تو تکس باکس فرم خودش تایپ می کنه من میخوام همه جا ازش استفاده کنم
هم کنترلش براتون میذارم هم فرمیشو لطفا راهنماییم کنید
متشکررررررررررر

arefba
سه شنبه 25 آبان 1389, 00:52 صبح
سلام
واقعا خیلی جالب هست این کیبورد
شما اگه دو تا تکس باکس رو روی صفحه بزارید روی هر کدام کلیک کنید متن رو اونجا می نویسه
خیلی جالب بود
کاش میشه یکی میدونست این جریانش چیه

hojjatshariffam
سه شنبه 25 آبان 1389, 02:51 صبح
می خواستم بگم که از SendKey استفاده کن ، که خود کنترل رو باز کردم و دیدم که از همون استفاده کردین
روی یک فرم که داخل اون قرار داده شده ، همیشه درست کار می کنه ولی تو فرم دیگه چون خود فرم باید تو سیستم هامل فوکاس بشه پس بطبع کار خواهد کرد
پس باید یه کاری کرد که فرم فوکاس نشود
برای منم جالب شد
کسی نطری نداره برا این کار؟

diamondiran
سه شنبه 25 آبان 1389, 21:05 عصر
سلام
من می خوام بدونم چطور میشه فوکاس فرم غیر فعال بشه تا کنترل بتونه تو فرم دیگه یا تو یک تکس دیگه تایپ کنه؟؟ لطفا اگه کسی میدونه راهنمایی کنید

محسن شامحمدی
چهارشنبه 26 آبان 1389, 07:56 صبح
شما واسه این کار چند تا راه دارین:
1- هندل پنجره ای که می خواین توش تایپ بشه رو بگیرید و مستقیما متن رو توسط توابع Api به اون هندل ارسال کنید.

2- اون پنجره ای که می خواین توش تایپ بشه رو فعال(Active) کنید.بعدش هر چی sendkeys کنید می ره توی اون تایپ می شه.

3- دیگه بلد نیستم:گیج:

Felony
چهارشنبه 26 آبان 1389, 09:18 صبح
شما واسه این کار چند تا راه دارین:
1- هندل پنجره ای که می خواین توش تایپ بشه رو بگیرید و مستقیما متن رو توسط توابع Api به اون هندل ارسال کنید.

2- اون پنجره ای که می خواین توش تایپ بشه رو فعال(Active) کنید.بعدش هر چی sendkeys کنید می ره توی اون تایپ می شه.

3- دیگه بلد نیستم:گیج:

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

در مورد راه دوم چون بحث ساخت صفحه کلید مجازی هست جواب نمیده چون بعد از فعال کردن پنجره مورد نظر با کلیک روی دکمه های صفحه کلید مجازی صفحه برنامه خودتون فعال میشه .

diamondiran
چهارشنبه 26 آبان 1389, 12:19 عصر
دوباره سلام خدمت دوستان
مشکل منم همینه نمیدونم چطور میشه هندل آخرین فرمو پیدا کنم??:گریه::گریه::گریه:

محسن شامحمدی
چهارشنبه 26 آبان 1389, 22:20 عصر
از جناب مجتبی تاجیک (http://barnamenevis.org/forum/member.php?u=63881) بابت نکته بینیشون ممنونم.
من یک ایده دارم.
شما روی کیبوردتون یک آیکن داشته باشین که کاربر این رو روی جایی که دوست داره توش تایپ کنه Drag کنه.
حالا این هندل رو ذخیره کنه تا همه کلیدها به این هندل ارسال بشن.
یکم روشم انعطاف پذیری و راحتی رو از کاربر می گیره ولی خب دیگه چاره ای نیست!:متفکر:

Felony
چهارشنبه 26 آبان 1389, 22:34 عصر
دوباره سلام خدمت دوستان
مشکل منم همینه نمیدونم چطور میشه هندل آخرین فرمو پیدا کنم??:گریه::گریه::گریه:

میتونید تو یه تایمر مرتبا هندل فرم جاری رو با استفاده از تابع GetForegoundWindow بگیرید تا زمانی که فر م برنامه خودتون فعال بشه ، در این صورت هندلی که به دست آوردید ، هندل آخرین پنجره فعال هست .

البته راه دیگه هم داره ولی من نحوه پیاده سازیش رو تو #C نمیدونم .

diamondiran
یک شنبه 30 آبان 1389, 10:45 صبح
اگه ممکنه یه مثال بزنید من تا حالا با هندل ها کار نکردم
متشکر از لطفتون