Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как попасть в ProgramFiles


Автор: Андрей СС 22.11.2004, 13:40
Добрый день,
Помогите пожалуйста попасть в ProgramFilesDir программно в Делфин.
Как GetWindowsDirectory(dir,256);, есть что-нибудь?
Заранее благодарен.

Автор: Андрей СС 22.11.2004, 14:01
Уже сам догадался ))
все равно спаисбо!!!

GetEnvironmentVariable('ProgramFiles');

Автор: Girder 22.11.2004, 14:17
Еще можно вот так:
Код
uses ... ShlObj,ActiveX;
...
const
CSIDL_PROGRAM_FILES=$0026;

function GetFolderPath(nFolder:Integer):String;
var pidlItself:PItemIDList;
   s:string;
   hr:HResult;
   M:IMAlloc;
   i:integer;
begin
Result:='';
hr:=SHGetSpecialFolderLocation(0,nFolder,pidlItself);
if Succeeded(hr) then
 begin
  SetLength(s,MAX_PATH*10);
  if SHGetPathFromIDList(pidlItself,PChar(s)) then
   begin
    i:=Pos(#0,s);
    if i=0 then i:=Length(s);
    Result:=trim(copy(s,1,i));
   end;
  SHGetMAlloc(M);
  M.Free(pidlItself);
 end;
end;


Использование: Caption:=GetFolderPath(CSIDL_PROGRAM_FILES);

Автор: SoWa 17.12.2004, 06:28
Может я не так понял, но если надо открыть папку PF, то подключи модуль ShellApi и используй Shellexecute.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)