作为一种替代方案,我建议使用每个工具的设计用途。也就是说,使用AutoHotkey来设置热键和其他类型的Windows自动化。AutoHotkey(AHK)在多个方面与Python非常好地连接(许多在AHK论坛中讨论)。一个有趣的方式是使用autohotkey.dll - AHK的功能被包装成一个DLL,您可以使用ctypes调用它。AHK是为Windows自动化而设计的,像这样的任务对它来说很简单。更复杂的任务也是如此。您可以节省挖掘API文档的几个小时。AHK可以编译成一个几百KB的.exe文件,因此您可以将其与任何Windows应用程序一起分发。
我相信您需要在Windows API级别上工作(没有更高级别的函数可以做到这一点),使用RegisterHotKey(第一个参数为null指针)将全局热键与当前线程的消息队列关联起来--该线程必须继续服务于其正常的Windows消息循环。我怀疑您希望将整个事情作为Windows服务运行--例如,使用this recipe,它使用Python for Windows Extensions--以确保它始终在系统启动时运行。