在运行程序之后,如何才能将桌面的图标以及任务栏隐藏?等到程序运行结束后再让它们重新显示呢?请高手赐教!!!

解决方案 »

  1.   

    procedure TFrm_Main.FormCreate(Sender: TObject);
    var
         Hnd : Thandle;
    begin
      // 隐藏任务栏
       Hnd := FindWindow('Shell_TrayWnd', '');
       if Hnd <> 0 then
        ShowWindow(Hnd, SW_HIDE);
        SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    end
    procedure TFrm_Main.FormClose(Sender: TObject; var Action: TCloseAction);
    var  hnd:HWND;
    begin
        Hnd := FindWindow('Shell_TrayWnd', '');
        if hnd<>0 then
        ShowWindow(Hnd, SW_SHOW);
    end;
      

  2.   

    隐藏桌面图标可以通过操作注册表实现,在“HKEY_CURRENT_USER\ SOFTWARE\MICROSOFT\WINDOWS\CUR RN ETVERSION\POLICIES\EXPLORER”下新建“DWORD值”,命名为“NoDesktop”,修改值为“1”,则可隐藏,为“0”,则显示。另:改完可能需要系统广播一下才能立刻生效。