隐藏桌面是用的下面的代码:
hDesktop:=FindWindow('ProgMan',nil);
ShowWindow(hDesktop,SW_HIDE);
有人知道怎样恢复右键菜单吗?

解决方案 »

  1.   

    你是否经常设置你的windows桌面,当时总有点美中不足之处,就是总是有些快捷方式的图标挡住了画面的美观。如果去掉这些图标使桌面展现一幅完美的图片呢?
    其实windows api函数已经为我们解决了这个问题了!
    我们可以使用findwindow,showwindow函数
    FindWindow(
    lpClassName: PChar;
    lpWindowName: PChar;
    ): HWND;
    BOOL ShowWindow(    HWND hWnd,
       int nCmdShow 
    );
    其中ncmdshow可以取值为:
    SW_SHOWNORMAL
    SW_SHOWNOACTIVATE
    SW_SHOWNA
    SW_SHOWMINNOACTIVE
    SW_SHOWMINIMIZED
    SW_SHOWMAXIMIZED
    SW_SHOWDEFAULT
    SW_SHOW
    SW_RESTORE
    SW_MINIMIZE
    SW_MAXIMIZE
    SW_HIDE
     
    采用下面代码可以隐藏桌面图标
    var
    hdesktop:thandle;
    hdesktop:=findwindow('progman',nil);
    showwindow(hdesktop,sw_hide);
    当你需要恢复桌面图标时,你可以用下面的语句
    hdesktop:=findwindow('progman',nil);
    showwindow(hdesktop,sw_show);
    现在你是否觉得桌面整洁多了。
    (欢迎来碧草青青做客http://rongercao.go.163.com)
      

  2.   

    哎,给分吧~~~~~~~~有总比没有好~~~~~~~~~~~
    var
      wnd:HWND;
    begin
      Wnd := GetDesktopWindow;
      Wnd := FindWindowEx(Wnd, 0, 'Progman', nil);
      Wnd := FindWindowEx(Wnd, 0, 'SHELLDLL_DefView', nil);
      Wnd := FindWindowEx(Wnd, 0, 'SysListView32', nil);
      SendMessage(wnd, LVM_DELETEALLITEMS, 0, 0)
    end;