Форум: "Начинающим";
Текущий архив: 2017.04.23;
Скачать: [xml.tar.bz2];
Внизполучить путь к Users... Найти похожие ветки
← →
guest (2015-08-24 15:35) [0]как получить путь к папке Users (к примеру c:\Users\ или с:\Пользователи\ в вин7-8 и C:\Documents and Settings\ в винХР) из-под системной учетки (процесс под system)?
про SHGetFolderPath в курсе, но он пошлет меня в C:\ProgramData\ в случае с вин7+....
← →
DVM © (2015-08-24 15:51) [1]
> про SHGetFolderPath в курсе
Теперь модно пользоваться SHGetKnownFolderPath()
> но он пошлет меня в C:\ProgramData\
С чего вдруг он тебя туда пошлет?
← →
guest (2015-08-24 16:09) [2]послал в C:\Windows\system32\config\systemprofile\AppData\Roaming\ при параметрах CSIDL_APPDATA, SHGFP_TYPE_CURRENT
← →
guest (2015-08-24 16:14) [3]послал в C:\ProgramData\ при CSIDL_COMMON_APPDATA, SHGFP_TYPE_CURRENT
← →
guest (2015-08-24 16:16) [4]какой флаг указать, чтобы стабильно попадать в папку юзеров из-под любой учетки включая system?
← →
DVM © (2015-08-24 16:21) [5]
> guest (24.08.15 16:16) [4]
Через CSIDL_ туда не попасть.
SHGetKnownFolderPath() + FOLDERID_UserProfiles
https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx
← →
DVM © (2015-08-24 16:30) [6]
uses
Windows, ActiveX;
type
TKnownFolderID = TGUID;
const
FOLDERID_UserProfiles: TKnownFolderID = "{0762D272-C50A-4BB0-A382-697DCD729B80}";
function GetKnownFolderPath(const ID: TKnownFolderID): WideString;
type
TSHGetKnownFolderPath = function(const rfid: TKnownFolderID; dwFlags: DWord;
hToken: THandle; var ppSzPath: LPWSTR) : HResult; stdCall;
var
hShell: HModule;
SHGetKnownFolderPath: TSHGetKnownFolderPath;
Buffer: LPWSTR;
begin
Result := "";
hShell := LoadLibrary("shell32.dll");
if hShell > 0 then
try
@SHGetKnownFolderPath := GetProcAddress(hShell, "SHGetKnownFolderPath");
if Assigned(SHGetKnownFolderPath) then
if Succeeded(SHGetKnownFolderPath(ID, 0, 0, Buffer)) then
try
Result := Buffer;
finally
CoTaskMemFree(Buffer);
end;
finally
FreeLibrary(hShell);
end;
end;
← →
guest (2015-08-24 16:50) [7]угу, спасибо, GetKnownFolderPath работает для vista+.. а для winxp папка c:\documents and settings\ постоянна для всех языков да?
← →
guest (2015-08-24 17:00) [8]вернее %SYSTEMDRIVE%\documents and settings\ для ХР...
← →
DVM © (2015-08-24 17:16) [9]
> а для winxp папка c:\documents and settings\ постоянна для
> всех языков да?
А зачем вообще нужен путь именно к documents and settings ? Там же вложенные папки обычно используются, но не она сама.
← →
guest (2015-08-24 22:21) [10]мне нужна она сама, чтобы потом уже бегать по папкам всех юзеров и искать в них кое-что
← →
DVM © (2015-08-25 11:30) [11]
> guest (24.08.15 22:21) [10]
Папки юзеров могут быть перенесены из папки Users
← →
ВладОшин © (2015-09-04 22:34) [12]https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb762203(v=vs.85).aspx
← →
Германн © (2015-09-05 01:15) [13]
> ВладОшин © (04.09.15 22:34) [12]
>
> https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb762203(v=vs.
> 85).aspx
>
Влад, устарело это уже давно. Пока поддерживается, но зачем эту фукнцию рекомендовать?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.04.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.001 c