سلام دوست عزیز
یه پروژه براتون درست کردم واقعا 2 ساعت وقت صرف کردم
باید یه متد کپچر رویدادهای صفحه کلید می ساختیم که کلیدهای فشرده شده را تشخیص دهد
سپس کلیدهای فشرده شده را تشخیص در کداجرایی نمایش فرم را درخواست کنیم
سورس
http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=13623131395672207191
public void StartCaptureKey()
{
var partition = Enumerable.Range(1, 4);
partition.ToList().ForEach((itr) =>
{
threads.Add(new Thread(() =>
{
int from = ((itr - 1) * 64) + (itr == 1 ? 0 : 1);
int to = (itr * 64);
var keynumbers = Enumerable.Range(from, to);
while (true)
{
Thread.Sleep(100);
keynumbers.ToList().AsParallel().ForAll((key) =>
{
if (key == (int)Keys.Capital) { return; }
if (key == (int)Keys.RShiftKey) { return; }
if (key == (int)Keys.LShiftKey) { return; }
if (key == (int)Keys.ShiftKey) { return; }
if (GetAsyncKeyState(key))
{
bool GetCapsOn = GetKeyState((int)Keys.Capital);
bool GetShiftOn = GetAsyncKeyState((int)Keys.ShiftKey);
displayinfodelegate(key, GetCapsOn, GetShiftOn);
// displayinfodelegate(key, GetCapsOn, GetShiftOn);
while (GetAsyncKeyState(key))
{
Thread.Sleep(100);
}
}
});
}
}));
});
threads.ForEach((t) =>
{
t.Start();
});
}