delphi怎么实现这样的程序(关于热键)

delphi如何实现这样的程序(关于热键)
就是按下F1键,程序显示,再按F1,,程序隐藏  如何实现呢?
------解决方案--------------------
键盘钩子?我只能想到这个,因为隐藏后窗口就没有焦点了,要在全局拦截。。
------解决方案--------------------
用RegisterHotKey,然后收消息(WM_HotKey)判断即可,
    if Msg.wParam=HotKeyID then begin
      if Self.Visible then Hide else Show;
    end;

------解决方案--------------------
RegisterHotKey可以注册全局消息,显示和隐藏都可以接收到的。
------解决方案--------------------
delphi实现全局快捷键的功能
http://blog.csdn.net/youthon/article/details/6715921