1->API:BOOL RegisterHotKey
2->窗体属性有formstyle

解决方案 »

  1.   

    但用窗体的formstyle属性只是在本应用程序的上面,不能在其它窗口的上面啊
      

  2.   

    //
    TMainForm.OnCreate
      RegisterHotKey(Handle, 1001, MOD_CONTROL, Ord('A'));WM_HOTKEYprocedure TMainForm.HotKey(var msg: TMessage); //message WM_HOTKEY;
    begin
      if msg.wParam = 1001 then 
      begin
        TPopForm.Show;
      end;
    end;  //TPOPFormtype
      TPOPForm = class(TFOrm)
      protected
        procedure CreateParams(var Params: TCreateParams); override;
      end;procedure TPopForm.CreateParams(var Params: TCreateParams); 
    begin
      inherited CreateParmas(Params);
      Params.ParentHwnd := GetDesktopWindow;
    end;
    不知函数打错没。:)
      

  3.   

    //窗体总在前面,加入Params.Style 还是Params.ExStyle 加入TOPMOST属性,具体参数忘了。:)
    procedure TPopForm.CreateParams(var Params: TCreateParams); 
    begin
      inherited CreateParmas(Params);
      Params.Style := Params.Style or WM_TOPMOST; //参数名好像不对,你查查Windows.pas)
      Params.ParentHwnd := GetDesktopWindow;
    end;
      

  4.   

    还要在
    Params.Style 还是 Params.ExStyle 加入 ..._TOPMOST的之类的属性,
    具体参数到Windows.pas找找TOPMOST,我忘了。
      

  5.   

    第一个问题:最简单方法:放一个timer控件,把间隔设成1。procedure form1.ontimer1(sender:TObject)
    begin
        if getasynckeystate(VK_F10)<0 then    //如果按了F10
        begin
            self.show;
            ....
        end;end;