View Full Version : سوال: انجام کار دکمه های روی کیبورد ( کیبورد مجازی )
Veteran
پنج شنبه 22 دی 1390, 13:47 عصر
سلام دوستان
به چه شکل میتونیم این چند دکمه رو در vb6 پیاده سازی کنیم
space
و
tab
و
کلید ترکیبی
Ctrl,Shift,M
مثلا اگر من کد مربوط به space رو گذاشتم توی یک کامند و روش کلیک کردم کد اجرا بشه و همون کاری کنه که انگار من space رو از روی کیبورد فشار دادم
برای tab هم به همین شکل
برای کلید های ترکیبی (Ctrl,Shift,M)
هم به این صورت باشه که وقتی کد اجرا شد انگار من دکمه های Ctrl,Shift,M رو روی کیبورد فشار و نگه داشتم
تشکر :قلب:
shahabbasic
پنج شنبه 22 دی 1390, 15:14 عصر
با استفاده از کد اسکی میتونی این کار رو انجام بدی
sr2m72
پنج شنبه 22 دی 1390, 15:16 عصر
سلام دوستان
به چه شکل میتونیم این چند دکمه رو در vb6 پیاده سازی کنیم
space
و
tab
و
کلید ترکیبی
Ctrl,Shift,M
مثلا اگر من کد مربوط به space رو گذاشتم توی یک کامند و روش کلیک کردم کد اجرا بشه و همون کاری کنه که انگار من space رو از روی کیبورد فشار دادم
برای tab هم به همین شکل
برای کلید های ترکیبی (Ctrl,Shift,M)
هم به این صورت باشه که وقتی کد اجرا شد انگار من دکمه های Ctrl,Shift,M رو روی کیبورد فشار و نگه داشتم
تشکر :قلب:
سلام.
از SendKeys استفاده كن.
just4froum
پنج شنبه 22 دی 1390, 16:03 عصر
براي دكمه هاي تركيبي ctrl,shift,m از اين استفاده كن :
SendKeys ("^+M")
براي دكمه هاي ديگه هم بدين شكل يعني مينويسي
Sendkeys ("حرف مورد نظر")
البته براي همه ي دكمه ها هم بدين شكل نميشه عمل كرد يعني براي هر كدوم حرف خاصي وجود داره مثلا:
ctrl = ^
alt = !
shift = +
tab = {tab}
Veteran
پنج شنبه 22 دی 1390, 16:34 عصر
اینجوری که نمیشه
فوکس از روی پنجره ایی که میخوام کارهارو انجام بدم میپره و دیگه عمل نمیکنه
این کارهارو میخوام روی پنجره های دیگه بکنم نه برای خود برنامه
sr2m72
پنج شنبه 22 دی 1390, 16:40 عصر
البته جناب just4froum يه اشتباه تايپي داشتن.
alt = !
ميشه اين:
alt = %
sr2m72
پنج شنبه 22 دی 1390, 16:56 عصر
اینجوری که نمیشه
فوکس از روی پنجره ایی که میخوام کارهارو انجام بدم میپره و دیگه عمل نمیکنه
این کارهارو میخوام روی پنجره های دیگه بکنم نه برای خود برنامه
بفرماييد:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Command1_Click()
hw = FindWindow(vbNullString, "نام برنامه")
If hw <> 0 Then
SetForegroundWindow hw
SendKeys "؟؟؟؟؟؟"
End If
End Sub
Veteran
پنج شنبه 22 دی 1390, 23:05 عصر
پنجره رو پیدا میکنه و فوکس بر روی اون قرار میگیره
اما این
SendKeys ("^+M")
که دوست خوبمون دادن من میزارم توی برنامه باید چندبار متوالی پشت سرهم و سریع کد رو اجرا کنم تا کار کنه
حالا مشکل کجاست ؟
Veteran
شنبه 24 دی 1390, 10:35 صبح
دوستان لطفا راهنمایی کنین چیکار کنم حالا ؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.