Browse Source

+ Added all known CSIDL constants.

michael 21 years ago
parent
commit
2690ee6ec3
1 changed files with 49 additions and 29 deletions
  1. 49 29
      rtl/win32/shfolder.pp

+ 49 - 29
rtl/win32/shfolder.pp

@@ -23,17 +23,9 @@
   HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\ 
   HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\ 
   
-  Missing from shfolder.dll are:
-    Desktop
-    Favorites
-    NetHood
-    Printhood
-    Recent
-    Sendto
-    Startup
-    Start menu
-    Templates
-  These are present in the registry, though.
+  Note that not all CSIDL_* constants are supported by shlfolder.dll,
+  they should be supported by the shell32.dll, though again not on all 
+  systems.
   ---------------------------------------------------------------------}
 
 Unit shfolder;
@@ -47,23 +39,48 @@ Const
   LibName = 'SHFolder.dll';
 
 Const
-  CSIDL_PERSONAL             = $0005; { %USERPROFILE%\My Documents                                       }
-  CSIDL_APPDATA              = $001A; { %USERPROFILE%\Application Data (roaming)                         }
-  CSIDL_LOCAL_APPDATA        = $001C; { %USERPROFILE%\Local Settings\Application Data (non roaming)      }
-  CSIDL_INTERNET_CACHE       = $0020; { %USERPROFILE%\Local Settings\Temporary Internet Files            }
-  CSIDL_COOKIES              = $0021; { %USERPROFILE%\Cookies                                            }
-  CSIDL_HISTORY              = $0022; { %USERPROFILE%\Local settings\History                             }
-  CSIDL_COMMON_APPDATA       = $0023; { %PROFILESPATH%\All Users\Application Data                        }
-  CSIDL_WINDOWS              = $0024; { %SYSTEMROOT%                                                     }
-  CSIDL_SYSTEM               = $0025; { %SYSTEMROOT%\SYSTEM32 (may be system on 95/98/ME)                }
-  CSIDL_PROGRAM_FILES        = $0026; { %SYSTEMDRIVE%\Program Files                                      }
-  CSIDL_MYPICTURES           = $0027; { %USERPROFILE%\My Documents\My Pictures                           }
-  CSIDL_PROGRAM_FILES_COMMON = $002b; { %SYSTEMDRIVE%\Program Files\Common                               }
-  CSIDL_COMMON_DOCUMENTS     = $002e; { %PROFILEPATH%\All Users\Documents                                }
-  CSIDL_COMMON_ADMINTOOLS    = $002f; { %PROFILEPATH%\All Users\Start Menu\Programs\Administrative Tools }
-  CSIDL_ADMINTOOLS           = $0030; { %USERPROFILE%\Start Menu\Programs\Administrative Tools           } 
-
-  CSIDL_FLAG_CREATE          = $8000; { (force creation of requested folder if it doesn't exist yet)     }
+
+  CSIDL_PROGRAMS                = $0002; { %SYSTEMDRIVE%\Program Files                                      }
+  CSIDL_PERSONAL                = $0005; { %USERPROFILE%\My Documents                                       }
+  CSIDL_FAVORITES               = $0006; { %USERPROFILE%\Favorites                                          }
+  CSIDL_STARTUP                 = $0007; { %USERPROFILE%\Start menu\Programs\Startup                        }
+  CSIDL_RECENT                  = $0008; { %USERPROFILE%\Recent                                             }
+  CSIDL_SENDTO                  = $0009; { %USERPROFILE%\Sendto                                             }
+  CSIDL_STARTMENU               = $000B; { %USERPROFILE%\Start menu                                         } 
+  CSIDL_MYMUSIC                 = $000D; { %USERPROFILE%\Documents\My Music                                 }
+  CSIDL_MYVIDEO                 = $000E; { %USERPROFILE%\Documents\My Videos                                }
+  CSIDL_DESKTOPDIRECTORY        = $0010; { %USERPROFILE%\Desktop                                            }
+  CSIDL_NETHOOD                 = $0013; { %USERPROFILE%\NetHood                                            }
+  CSIDL_TEMPLATES               = $0015; { %USERPROFILE%\Templates                                          }
+  CSIDL_COMMON_STARTMENU        = $0016; { %PROFILEPATH%\All users\Start menu                               }
+  CSIDL_COMMON_PROGRAMS         = $0017; { %PROFILEPATH%\All users\Start menu\Programs                      }
+  CSIDL_COMMON_STARTUP          = $0018; { %PROFILEPATH%\All users\Start menu\Programs\Startup              }
+  CSIDL_COMMON_DESKTOPDIRECTORY = $0019; { %PROFILEPATH%\All users\Desktop                                  }
+  CSIDL_APPDATA                 = $001A; { %USERPROFILE%\Application Data (roaming)                         }
+  CSIDL_PRINTHOOD               = $001B; { %USERPROFILE%\Printhood                                          }
+  CSIDL_LOCAL_APPDATA           = $001C; { %USERPROFILE%\Local Settings\Application Data (non roaming)      }
+  CSIDL_COMMON_FAVORITES        = $001F; { %PROFILEPATH%\All users\Favorites                                }
+  CSIDL_INTERNET_CACHE          = $0020; { %USERPROFILE%\Local Settings\Temporary Internet Files            }
+  CSIDL_COOKIES                 = $0021; { %USERPROFILE%\Cookies                                            }
+  CSIDL_HISTORY                 = $0022; { %USERPROFILE%\Local settings\History                             }
+  CSIDL_COMMON_APPDATA          = $0023; { %PROFILESPATH%\All Users\Application Data                        }
+  CSIDL_WINDOWS                 = $0024; { %SYSTEMROOT%                                                     }
+  CSIDL_SYSTEM                  = $0025; { %SYSTEMROOT%\SYSTEM32 (may be system on 95/98/ME)                }
+  CSIDL_PROGRAM_FILES           = $0026; { %SYSTEMDRIVE%\Program Files                                      }
+  CSIDL_MYPICTURES              = $0027; { %USERPROFILE%\My Documents\My Pictures                           }
+  CSIDL_PROFILE                 = $0028; { %USERPROFILE%                                                    }
+  CSIDL_PROGRAM_FILES_COMMON    = $002B; { %SYSTEMDRIVE%\Program Files\Common                               }
+  CSIDL_COMMON_TEMPLATES        = $002D; { %PROFILEPATH%\All Users\Templates                                } 
+  CSIDL_COMMON_DOCUMENTS        = $002E; { %PROFILEPATH%\All Users\Documents                                }
+  CSIDL_COMMON_ADMINTOOLS       = $002F; { %PROFILEPATH%\All Users\Start Menu\Programs\Administrative Tools }
+  CSIDL_ADMINTOOLS              = $0030; { %USERPROFILE%\Start Menu\Programs\Administrative Tools           } 
+  CSIDL_COMMON_MUSIC            = $0035; { %PROFILEPATH%\All Users\Documents\my music                       }
+  CSIDL_COMMON_PICTURES         = $0036; { %PROFILEPATH%\All Users\Documents\my pictures                    }
+  CSIDL_COMMON_VIDEO            = $0037; { %PROFILEPATH%\All Users\Documents\my videos                      }
+  CSIDL_CDBURN_AREA             = $003B; { %USERPROFILE%\Local Settings\Application Data\Microsoft\CD Burning }
+  CSIDL_PROFILES                = $003E; { %PROFILEPATH%                                                    } 
+
+  CSIDL_FLAG_CREATE             = $8000; { (force creation of requested folder if it doesn't exist yet)     }
 
 { Original entry points }
 
@@ -92,7 +109,10 @@ const
 end.
 {
   $Log$
-  Revision 1.2  2004-01-31 23:34:37  michael
+  Revision 1.3  2004-02-01 00:12:11  michael
+  + Added all known CSIDL constants.
+
+  Revision 1.2  2004/01/31 23:34:37  michael
   + Added header/log footer
 
 }