PDA

View Full Version : خاموش و روشن كردن Num Lock و Caps Lock



anooshiran
سه شنبه 26 آذر 1387, 23:06 عصر
سلام به همه بزرگواران

اگر امكان دارد مرا را هنمايي بفرماييد كه چگونه مي توان به صورت ران تايم و از درون برنامه ، كليد caps lock و num lock را خاموش و روشن يا به عبارتي فعال و غير فعال نمود

با امتتنان بسيار

Evil 69
سه شنبه 26 آذر 1387, 23:42 عصر
احتمالا api چیزی باید داشته باشه یک search بزن ولی به جز اون می تونی از sendkeys استفاده کنی و کلید numlock یا capslock قخ روشن یا خاموش کنی

Evil 69
سه شنبه 26 آذر 1387, 23:45 عصر
احتمالا باید api چیزی داشته باشه یه search بزن . ولی فلن می تونی از sendkeys استفاده کنی و کلید numlock یا capslock رو روشن یا خاموش کنی

anooshiran
چهارشنبه 27 آذر 1387, 00:30 صبح
با sendkeys به نتيجه نرسيدم. هيچ نغييري ايجاد نمي كنه

farhvid
چهارشنبه 27 آذر 1387, 07:00 صبح
این هم یه نمونه کوچیک با api

anooshiran
چهارشنبه 27 آذر 1387, 08:02 صبح
ممنونم farhvid عزيز

ولي اين كد فقط وضعيت capslock و .. را نشان مي داد. من به دنبال روشي براي تغيير حالت Capslock و numlock از داخل برنامه هستم كه بتوان با كد آنها را فعال يا غير فعال كنم.

در هر صورت از تو نازنين براي زحمتي كه كشيدي ممنونم

mostafaaa
چهارشنبه 27 آذر 1387, 12:09 عصر
سلام دوست من


Imports System.Runtime.InteropServices
Public Class Form1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, _
ByVal dwExtraInfo As Integer)
Private Const VK_CAPITAL As Integer = &H14
Private Const VK_NUMLOCK As Integer = &H90
Private Const VK_SCROLL As Integer = &H91
Private Const KEYEVENTF_EXTENDEDKEY As Integer = &H1
Private Const KEYEVENTF_KEYUP As Integer = &H2
Private Sub btnCaps_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCaps.Click
' Simulate the Key Press
keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)
' Simulate the Key Release
keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
End Sub
Private Sub btnNum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNum.Click
keybd_event(VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)
keybd_event(VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
End Sub
Private Sub btnScrol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScrol.Click
keybd_event(VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)
keybd_event(VK_SCROLL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
End Sub
End Class

anooshiran
چهارشنبه 27 آذر 1387, 13:24 عصر
جناب mostafaa ي عزيز

كد درج شده را امتحان كردم . كامل مشكل مرا حل نمود . بارها مطالب و كدهاي شما را مطالعه نموده ام كه هميشه برايم سودمند بوده.

اميد است با حضور آگاهاني چون شما و ديگر دوستان انديشمند و صاحبنظر در اين محفل ، روز از پي دگر ناظر رشد و شكوفايي همه دوستان باشيم.

و ايزد يارتان - با تشكر مجدد