PDA

View Full Version : روشن کرد ن caps lock با استفاده از کد



mehrab1387
پنج شنبه 04 فروردین 1390, 12:45 عصر
چطور میشود با استفاده از کد caps lock را روشن کرد؟

exlord
پنج شنبه 04 فروردین 1390, 14:34 عصر
روش منطقی و درست برای UpperCase کردن ورودی ...
void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar = Char.ToUpper(e.KeyChar);
}

Saeed.Masoumi
جمعه 05 فروردین 1390, 11:51 صبح
با تشکر از exlord (http://barnamenevis.org/member.php?77199-exlord) که راه درست رو فرمودن.اما شاید این دوستمون واقعا مدنظرشون این باشه که چراغ های صفحه کلید رو روشن کنند مثل رقص نور.
برای این کار الان راهی که به ذهنم می رسه اینه که از API استفاده کنید:
این کد رو به ایتدای سورس خود اضافه کنید:
using System.Runtime.InteropServices;
سپس این کدها را در داخل کلاس فرم خود بنویسد:
private const int VK_CAPITAL = 0x14;
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);
سپس یک Button روی فرم قرار داده کد زیر را در داخل رویداد کلیک آن بنویسید:
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(VK_CAPITAL, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(VK_CAPITAL, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
(UIntPtr)0);
حالا برنامه را اجرا کنید اگر دکمه را فشار دهید چراغ CapsLock تغییر وضعیت می دهد.
نکته:
کد مربوط به Caps lock = 0x14 و Num Lock=0x90 و ScrollLock = 0x91 است.
اگر می خوایهد فقط چراغ روشن شود ولی حالت حروف تغییر نکند این لینک (http://stackoverflow.com/questions/2248358/way-to-turn-on-keyboards-caps-lock-light-without-actually-turning-on-caps-lock)را یک نگاهی بیاندازید(خودم نخواندمش).
موفق باشید.