全屏窗口已经坐到,但是系统热键会把他切换到其他程序
要求不能切换到其他程序,只要开机,就是这一个程序,直到使用结束关机!
就像网吧里的某些管理软件,就像屏保,没特殊操作不能退出!
希望能有比较成熟的代码,谢谢!

解决方案 »

  1.   

    看看这个
    http://blog.csdn.net/vsun/articles/619385.aspx
      

  2.   

    http://www.codeproject.com/system/Desktop_Switcher.asp
      

  3.   

    http://search.csdn.net/Expert/topic/964/964874.xml?temp=.8645594
      

  4.   

    var
      sa : TSecurityAttributes;
      hd : HDESK;  si : TStartupInfo;
      pi : TProcessInformation;begin
      //新建一个桌面
      ZeroMemory(@sa,SizeOf(TSecurityAttributes));
      sa.nLength := SizeOf(TSecurityAttributes);
      sa.lpSecurityDescriptor := nil;
      sa.bInheritHandle := true;  hd := CreateDesktop('My DeskTop',
        nil,
        nil,
        0,
        MAXIMUM_ALLOWED,
        @sa);  if hd=0 then
        Exit;  //切换到桌面
      SwitchDesktop(hd);
      try
        ZeroMemory(@si,Sizeof(TStartupInfo));
        si.cb := SizeOf(TStartupInfo);
        si.dwFlags := STARTF_USESHOWWINDOW;
        si.wShowWindow:= SW_SHOW;
        si.lpDesktop := Pchar('My DeskTop');    //在新桌面运行指定程序,并等待结束
        CreateProcess('E:\Demo\project1.exe',nil,nil,nil,true,
         CREATE_DEFAULT_ERROR_MODE+CREATE_SEPARATE_WOW_VDM,nil,nil,si,pi);
        WaitForSingleObject(pi.hProcess,INFINITE);
        TerminateProcess(pi.hProcess,0);
      finally
        //切换回默认桌面
        SwitchDesktop(0);
        CloseDesktop(hd);
      end;
    end;
      

  5.   

    project1.exe中实现“全屏”///////////////////////////////////procedure TForm1.FormCreate(Sender: TObject);
    begin
      Self.Width := Screen.Width;
      self.Height := Screen.Height;
      Self.Left := 0;
      Self.Top := 0;
      Self.BorderStyle := bsNone; 
    end;
      

  6.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Self.Width := Screen.Width;
      self.Height := Screen.Height;
      Self.Left := 0;
      Self.Top := 0;
      Self.BorderStyle := bsNone; 
    end;
    还要在project1.exe中把系统的消息拦截了,键盘,鼠标,啥都不能放过,
    哈哈....