
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
![]() |
|
|
Здрасте всем!
Подскажите пожалуйста как мне определить расположение системной папки временых файлов в WinXp текущего пользователя и папку временых файлов Windows! (с учетом того что винда может стоять не на диске С); Заранее очень благодарен !)))) |
Сообщ.
#3
,
|
|
|
фпоиск...
![]() темп Цитата ![]() ![]() function c_GetTempPath: String; var Buffer: array[0..1023] of Char; begin SetString(Result, Buffer, GetTempPath(Sizeof(Buffer)-1,Buffer)); end; этот код так же можно использовать для: GetCurrentDirectory GetSystemDirectory GetWindowsDirectory http://www.drkb.ru/ |
Сообщ.
#4
,
|
|
|
посмотри SHGetSpecialFolderPath в модуле ShlObj
|
![]() |
Сообщ.
#5
,
|
|
функция на получения пити
![]() ![]() function pathDir(num:integer):string; var Allocator: IMalloc; SpecialDir: PItemIdList; FBuf: array[0..MAX_PATH] of Char; begin if SHGetMalloc(Allocator) = NOERROR then begin SHGetSpecialFolderLocation(Form1.Handle, num, SpecialDir); SHGetPathFromIDList(SpecialDir, @FBuf[0]); Allocator.Free(SpecialDir); result:=(string(FBuf)); end; end; а вт константы для ее Цитата CSIDL_DESKTOP CSIDL_INTERNET CSIDL_PROGRAMS CSIDL_CONTROLS CSIDL_PRINTERS CSIDL_PERSONAL CSIDL_FAVORITES CSIDL_STARTUP CSIDL_RECENT CSIDL_SENDTO CSIDL_BITBUCKET CSIDL_STARTMENU CSIDL_DESKTOPDIRECTORY CSIDL_DRIVES CSIDL_NETWORK CSIDL_NETHOOD CSIDL_FONTS CSIDL_TEMPLATES CSIDL_COMMON_STARTMENU CSIDL_COMMON_PROGRAMS CSIDL_COMMON_STARTUP CSIDL_COMMON_DESKTOPDIRECTORY CSIDL_APPDATA CSIDL_PRINTHOOD CSIDL_ALTSTARTUP CSIDL_COMMON_ALTSTARTUP CSIDL_COMMON_FAVORITES CSIDL_INTERNET_CACHE CSIDL_COOKIES CSIDL_HISTORY Добавлено и незабудь повесить два модуля ActiveX, ShlObj |
Сообщ.
#6
,
|
|
|
Цитата ViktorXP @ и незабудь повесить два модуля ActiveX, ShlObj ![]() ![]() |
![]() |
Сообщ.
#7
,
|
|
Цитата Testudo @ Функция GetTempPath, и вообще никаких модулей добавлять не надо (Windows всегда добавлен) но зато у моей функции больше возможностей ![]() не а канешно непротив твоей если там кроме одной етой папки ничево ненадо, сам зото чем меньше тем лудше |
Сообщ.
#8
,
|
|
|
Непомню где, видел такие функции, может помогут:
![]() ![]() function WinDir: string; // Определение папки Windows var intLen:integer; strBuffer:string; begin SetLength(strBuffer,1000); intLen:=GetWindowsDirectory(PChar(strBuffer),1000); WinDir:=Trim(Copy(strBuffer,1,intLen)); end; function SysDir: string; // Определение системной папки var intLen:integer; strBuffer:string; begin SetLength(strBuffer,1000); intLen:=GetSystemDirectory(PChar(strBuffer),1000); SysDir:=Trim(Copy(strBuffer,1,intLen)); end; |