如何使程序运行时需要覆盖整个桌面,并且不允许用户用Alt+Esc、Ctrl+Esc等系统组合键来切换到其他程序。

解决方案 »

  1.   

    理论上只要使任务栏不可见,窗口最大化,并且置于最前端,把OnCloseQuery事件设为CanClose:=false;
      

  2.   

    to : xingzj0117(邢志军) 
    这种方法太简单了,功能是不能实现的
      

  3.   

    感谢大家,问题已经解决,虽然人汽不行,但是谢谢大家参与,感谢 yuandagang(刚刚) 得代码,
    现在把分给分了,我150分发了两个贴子,
      

  4.   

    Button1按下后将系统功能键屏蔽,Button2按下后恢复系统功能键的作用。两个按钮的OnClick事件的处理过程如下:
    procedure TForm1.Button1Click(Sender:TObject);
    Var
    tempInt:integer;
    begin
    //屏蔽系统功能键
    SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,@tempInt,0);
    end;
    procedure TForm1.Button2Click(Sender:TObject);
    Var
    tempInt:integer;
    begin
    //取消屏蔽系统功能键
    SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@tempInt,0);
    end;
    程序运行后,先按下Ctrl+Esc组合键,测试效果;然后按一下Button1按钮,再按下Ctrl+Esc键,测试效果;最后按一下Button2按钮,再按下Ctrl+Esc键,测试效果。