скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Создать папку в меню кнопки ПУСК



Оформил: DeeCo

Uses
   ShlObj, ActiveX;

 procedure FreePidl(pidl: PItemIDList);
 var
   allocator: IMalloc;
 begin
   if Succeeded(SHGetMalloc(allocator)) then
   begin
     allocator.Free(pidl);
     {$IFDEF VER100}
     allocator.Release;
     {$ENDIF}
   end;
 end;

 function CreateFolder(aFolderName: string; aLocation: Integer): Boolean;
 var
   pIdl: PItemIDList;
   hPath: PChar;
 begin
   Result := False;
   if SUCCEEDED(SHGetSpecialFolderLocation(0, aLocation, pidl)) then
   begin
     hPath := StrAlloc(MAX_PATH);
     SHGetPathFromIDList(pIdl, hPath);
     SetLastError(0);
     CreateDirectory(PChar(hPath + '\\' + aFolderName), nil);
     if (GetLastError = 0) or (GetLastError = ERROR_ALREADY_EXISTS) then
       Result := True;
     FreePIDL(pIdl);
     StrDispose(hPath);
   end;
 end;


 procedure TForm1.Button1Click(Sender: TObject);
 begin
   CreateFolder('MyProgramgroup', CSIDL_PROGRAMS);
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook