当前位置: 首页 > 面试题库 >

Python 3.x-在Windows上获取caps-lock / num-lock / scroll-lock的状态

危砚
2023-03-14
问题内容

就像这个问题问的那样,我知道这在
Linux上是可能的,但是我最近在Windows上找不到任何东西。可能吗


问题答案:

您可以使用ctypes加载user32.dll,然后使用nVirtKey =
VK_CAPITAL(0x14)
调用GetKeyState

def get_capslock_state():
    import ctypes
    hllDll = ctypes.WinDLL ("User32.dll")
    VK_CAPITAL = 0x14
    return hllDll.GetKeyState(VK_CAPITAL)


 类似资料:
  • Why BSL? Enables body scroll locking (for iOS Mobile and Tablet, Android, desktop Safari/Chrome/Firefox) without breaking scrolling of a target element (eg. modal/lightbox/flyouts/nav-menus). Features

  • tua-body-scroll-lock inspired by body-scroll-lock English | 简体中文 Introduction tua-body-scroll-lock enables body scroll locking for everything. Why not body-scroll-lock(BSL)? Doesn't work on Android we

  • 描述 (Description) 此函数在共享变量或THING中包含的引用对象上放置一个建议锁,直到锁超出范围。 lock()是一个“弱关键字”:这意味着如果你在调用它之前用这个名字定义了一个函数,那么将调用该函数。 语法 (Syntax) 以下是此函数的简单语法 - lock THING 返回值 (Return Value) 此函数不返回任何值。<!-- 例子 (Example) Follow

  • java.util.concurrent.locks.Lock接口用作类似于synchronized块的线程同步机制。 新的锁定机制比同步块更灵活,提供更多选项。 Lock和synchronized块之间的主要区别如下 - Guarantee of sequence - 同步块不提供任何顺序保证,等待线程将被授予访问权限。 锁接口处理它。 No timeout - 如果未授予锁定,则同步块No t

  • Lock方法是用于数据库的锁机制,如果在查询或者执行操作的时候使用: Db::name('user')->where('id',1)->lock(true)->find(); 就会自动在生成的SQL语句最后加上 FOR UPDATE或者FOR UPDATE NOWAIT(Oracle数据库)。 lock方法支持传入字符串用于一些特殊的锁定要求,例如: Db::name('user')->where

  • 锁(Lock),在并发处理,防止冲突的场景非常常用。 在 imi 中,你可以使用注解,或者自己实例化Lock类来实现加锁处理。 除了内置的锁驱动外,你可以实现Imi\Lock\Handler\ILockHandler接口,来实现其他方式的锁。 配置用法 需要在配置中预定义 配置说明 // 锁 'lock' =>[ 'list' => [ // 锁 ID => 配置