Вопрос по свойствам папки

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Аватара пользователя
ЧИЖ
Сообщения: 29
Зарегистрирован: 24 фев 2007, 23:57
Контактная информация:

Я по приколу написал прогу которая пишет файл Desktop.ini (может настраивать картинку фона, цвет текста и иконку). Проблема: если папка уже содержала такой файл и была настроена из под системы свойства применяются, если папка была "девственная" файл есть но свойства не применены (аттрибуты файла такие же как у системного) я думаю - это из-за того что при установке свойст папки в файловой системе или еще гдето прописывается некоторый коментарий или чтото вроде того, но я не знаю как его прописать (все учебники перерыл, не нашел) подскажите пожалуйста.
Аватара пользователя
ЧИЖ
Сообщения: 29
Зарегистрирован: 24 фев 2007, 23:57
Контактная информация:

Извиняйте не дождался ответа сам перерыл весь инет - нашел ответ на свой вопрос(скачал пояснение с сайта исходников)



для справки - это пишется так:



setfileattribute(pchar('сторока пути к папке'),file_attribute_system);



почти так же как и для файла, только в учебниках не указано))))))))
:)
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Я что-то не понял в чём проблема. (была настроена из под системы свойства применяются, , если папка была "девственная" файл есть но свойства не применены).Тебе что, файлу Desktop.ini нужно присвоить аттрибут "системный"? Или у тебя проблема с заменой системного файла? Вот я только что сделал эту прогу на паскале - и нет никаких проблем.

Код: Выделить всё

  USES CRT, dos;
  var f: text;
  ImageDir, FolderDir, Stext: string;

  begin
  clrscr;
  write('Путь к папке: ');
  readln(folderdir);
  write('Путь к картинке: ');
  readln(imagedir);
  write('Текст, отображаемый при наведении на папку: ');
  readln(Stext);
  chdir(folderdir);
  imagedir:='iconarea_image='+imagedir;
  Stext:='InfoTip='+Stext;
  assign(f, 'desktop.ini'); {$I-}rewrite(f); {$I+}
  IF IOResult<>0 then begin
  setFattr(f, 6 and not 6);
  rewrite(f);
  end;
  writeln(f,'[{BE098140-A513-11D0-A3A4-00C04FD706EC}]');
  writeln(f,imagedir);
  writeln(f,'IconArea_Text=0x0040FF00');                {зелёный}
  writeln(f,'[.ShellClassInfo]');
  writeln(f, Stext);
  setFattr(f, 6);
  close(f);
  Write('Выполнено успешно!!!!!');
  readkey;
  end.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Аватара пользователя
Колядин Максим
Сообщения: 297
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Извиняюсь - нажал "Отправить ответ", обновилось, а ты уже ответил...
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Ответить