当程序处于任意状态(非活动窗口,如:最小化时)怎么接收键盘消息

当程序处于任意状态(非活动窗口,如:最小化时)如何接收键盘消息?windows api编程,我想实现一个类此功能,所

当程序处于任意状态(非活动窗口,如:最小化时)如何接收键盘消息?
windows api编程,我想实现一个类此功能,所以来问下。
[解决办法]
两种方法:
首选:注册全局热键。
次选:键盘钩子。
[解决办法]

BOOL RegisterHotKey( 
  HWND hWnd, 
  int id, 
  UINT fsModifiers, 
  UINT vk 
);

[解决办法]
引用:
刚才熟悉了一下,但这里的注册热键好像要求组合键,其中的fsModifiers就是那个组合键(不知道正不正确)。如果我想热键设置为一个键怎么办呢(如单独的F9)?
BOOL RegisterHotKey(HWND hWnd,int id,UINT fsModifiers,UINT vk);

可以设置单键。
例如F9
RegisterHotKey(hWnd,id,0,VK_F9);