做了个程序,单击系统托盘图标,弹出菜单,但是这是程序就失去了系统焦点,菜单的加速键全部实效,看msn也是如此,于是用这样一个函数让程序获得系统焦点:
function tform1.ForceForegroundWindow(hwnd: THandle): boolean;
const
   SPI_GETFOREGROUNDLOCKTIMEOUT = $2000;
   SPI_SETFOREGROUNDLOCKTIMEOUT = $2001;
var
   timeout: DWORD;
begin
   if ((Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion
> 4)) or
      ((Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and
      ((Win32MajorVersion > 4) or ((Win32MajorVersion = 4) and
(Win32MinorVersion > 0)))) then begin
      SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @timeout,
0);
      SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
TObject(0), SPIF_SENDCHANGE);
      Result := SetForegroundWindow(hWnd);
      SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
TObject(timeout), SPIF_SENDCHANGE);
      end
   else
      Result := SetForegroundWindow(hWnd);
end;
但是菜单确弹不出来了(是弹出然后立即隐藏),但金山词霸的菜单可以,不知道是怎么实现的