এই উত্তরগুলির বেশিরভাগই বেশ জটিল বা আমার পক্ষে কাজ করে না বলে মনে হয় (যেমন: সিস্টেম. উইন্ডোজ n ইনপুট উপস্থিত বলে মনে হয় না)। তারপরে আমি কিছু নমুনা কোড পেয়েছি যা সূক্ষ্মভাবে কাজ করে: http://www.switchonthecode.com / টিউটোরিয়ালস /
উইনফরমসেস -অ্যাকসেসিং- মাউস- এবং- কী-বোর্ড-স্টেট
ভবিষ্যতে পৃষ্ঠাটি অদৃশ্য হয়ে যাওয়ার ক্ষেত্রে আমি নীচে সম্পর্কিত উত্স কোডটি পোস্ট করছি:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace MouseKeyboardStateTest
{
public abstract class Keyboard
{
[Flags]
private enum KeyStates
{
None = 0,
Down = 1,
Toggled = 2
}
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
private static extern short GetKeyState(int keyCode);
private static KeyStates GetKeyState(Keys key)
{
KeyStates state = KeyStates.None;
short retVal = GetKeyState((int)key);
//If the high-order bit is 1, the key is down
//otherwise, it is up.
if ((retVal & 0x8000) == 0x8000)
state |= KeyStates.Down;
//If the low-order bit is 1, the key is toggled.
if ((retVal & 1) == 1)
state |= KeyStates.Toggled;
return state;
}
public static bool IsKeyDown(Keys key)
{
return KeyStates.Down == (GetKeyState(key) & KeyStates.Down);
}
public static bool IsKeyToggled(Keys key)
{
return KeyStates.Toggled == (GetKeyState(key) & KeyStates.Toggled);
}
}
}