给你一段代码:
    //获取桌面文件夹的Pidl
    if SHGetSpecialFolderLocation(0, CSIDL_DESKTOP, m_pidlDesktop) <> NOERROR then
      Form1.Close;
    if Boolean(m_pidlDesktop) then
    begin
      ps.bWatchSubFolders := 1;
      ps.pidl := m_pidlDesktop;      // 利用SHChangeNotifyRegister函数注册系统消息处理
      m_hSHNotify := SHChangeNotifyRegister(hWnd, (SHCNF_TYPE Or SHCNF_IDLIST),
                                          (SHCNE_ALLEVENTS Or SHCNE_INTERRUPT),
                                          WM_SHNOTIFY, 1, ps);