PDA

View Full Version : شبیه سازی رویدادهای صفحه کلید



ASedJavad
پنج شنبه 03 شهریور 1390, 02:02 صبح
سلام
من میخوام یه کلید ترکیبی خاص مثلا shift + A یا ctrl + shift + del رو به یک پنجره با هندل مشخص بفرستم.
خودم حدس زدم باید از ای پی آی sendmessage استفاده کنم ولی هرچی باهاش ور رفتم به نتیجه نرسیدم.
تو سایت هم سرچ کردم چیزی دستگیرم نشد.
ممنون میشم اگه بهم کمک کنید.
اگه بتونین راجع به فرستادن رویدادهای موس هم کمک کنید خیلی ممنون میشم
در مورد موس میدونم تو تابع sendmessage بجای wMsg باید عبارت WM_LBUTTONDOWN یا موارد مشابه رو قرار داد. اما چگونگی دادن x و y محل موس رو نمیدونم.

حقیقتش اینه که خودم حدس میزنم موضوع تکراری باشه ولی هر چی گشتم چیزی پیدا نکردم.

setroyd
پنج شنبه 03 شهریور 1390, 03:12 صبح
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_DELETE = &H2E
Private Const VK_CONTROL = &H11
Private Const VK_SNAPSHOT = &H2C


Private Sub Command1_Click()
SetCursorPos 200, 200

keybd_event VK_SNAPSHOT, 100, 0, 0
DoEvents
End Sub



این مشخصات محل قرار گیری cursor موس رو مشخص میکنه SetCursorPos 200, 200

keybd_event VK_SNAPSHOT, 100, 0, 0 و این printscreen میزنه از صفحه که میتونی جاش مقادیر
Private Const VK_DELETE = &H2E
Private Const VK_CONTROL = &H11
ای رو استفاده کنی البته توابع دیگه هست که کامل باشه ولی این میتونه مقداری راه بندازه شمارو کامل که درک کردی برات یه کد کامل میزارم .

setroyd
پنج شنبه 03 شهریور 1390, 03:28 صبح
اینم یه فایل واسه اینکه بهتر بفهمی جوری نوشتم که متوجه بشی برای کار با موس هست که گفتی بلدی .

ASedJavad
پنج شنبه 03 شهریور 1390, 15:43 عصر
ممنون
ولی مثل اینکه خوب متوجه سوالم نشدی
من گفتم هندل یک پنجره رو که ممکنه حتی مخفی باشه رو داریم
حالا میخوایم رویدادهای صفحه کلید رو روش شبیه سازی کنیم.

setroyd
پنج شنبه 03 شهریور 1390, 19:18 عصر
اتفاقا شدم که گفتم اینارو میزارم که راه بیفتی این کار که شما میخوای من تا حالا نکردم ولی امکانش هست اگه تونستم برات کد میزارم .