ورود

نسخه کامل مشاهده نسخه کامل : کیبرد مجازی



ADRIEN
23-05-2007, 02:50
با سلام
چطوری میشه یه صفحه کلید مجازی ساخت؟
مثلا مثه ماله همین ویندوز
مرسی

anvar.net
23-05-2007, 15:12
دوست عزیز اگر منظورتون همون On-Screen Keyboard باشه.
این ابزار حداقل 101 یا 102 دکمه داره . پس شما هم نیاز به همین تعداد دکمه دارید. از آرایه کنترل استفاده کن. (البته در vb.net این مسئله براحتی vb6 نیست چرا که در .net آرایه کنترلها یکی از مفاهیم کنار گذاشته شده است البته باز هم تا حدودی پشتیبانی میشه به مستندات msdn مراجعه کنید).
برای فرستادن ضربات کلید برنامه های vb به سایر برنامه ها و ویندوز از شیء System.Windows.Forms.SendKeys و متد Send استفاده کنید. هر کدام از کلیدهای صفحه کلید دارای کدهای خاص خود هستند. البته باید راهی برای شناسایی برنامه فعال و مهمتر از همه اینکه قابلیت پذیرش کاراکترها رو داشته باشه پیدا کنی.
برای دریافت رویدادهای صفحه کلید از رویدادهای KeyDown و KeyUp استفاده کن. این رویدادها یک شیء از نوع KeyEventArgs بعنوان آرگومان میگیرند که اطلاعات اضافی در مورد آن رویداد است.

در کل کار راحتی نیست. اما نابرده رنج, گنج میسر نمیشود!!!!!!!!!!!!!!

ADRIEN
23-05-2007, 18:18
مرسي از راهنماییت

whisper
24-05-2007, 08:48
سلام
از کجا میشه فهید چه برنامه ای فعال هست و فوکوس را به اون فرستاد؟

anvar.net
25-05-2007, 00:36
اینکه چطوری برنامه فعال رو بدست بیاریم من نمی دونم (شرمنده), اما به هر صورت اگر فهمیدیم از متد AppActivate فوکوس را برنامه مزبور میدهیم.
مثلا اگر یک سند word با نام Document1 با باشه میشه :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

whisper
26-05-2007, 12:13
آقایون اساتید
یعنی هیچکس نمی دونه برنامه فعال رو چطوری میشه بدست آورد؟

hamidreza_buddy
26-05-2007, 21:02
تابع API به نام GetActiveWindow که عدد Long به عنوان نشان دهندۀ پنجره بر می گردونه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

که پنجرۀ Active فعلی همیشه کدش 8975651603260375040 هست. مثلاً می توان از کد زیر استفاده کرد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید