我有下面的代码可以在应用程序启动时更改 Caps Lock 键的状态。
我想在启动应用程序时将 Caps Lock 状态更改为 ON(如果它已经处于 ON 状态,则应保持 ON 状态)。当应用程序关闭时,Caps Lock 状态应更改为 OFF。对于如何实现这一点有什么建议吗?
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
UIntPtr dwExtraInfo);
public Form1()
{
InitializeComponent();
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
(UIntPtr)1);
}
最佳答案
查看 API 的这篇文章以发现大写锁定是否打开:-
How can I find the state of NumLock, CapsLock and ScrollLock in .net?
请参阅注释示例:-
AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnExit);
public void OnExit(object sender, EventArgs e)
{
// check and turn caps off if neccessary
}
关于c# - Capslock 打开和关闭应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987431/