Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ WritePrivateProfileString

Автор: Unconnected 30.07.2009 21:59

Здравствуйте.

У меня такая проблема, нужно добавить в файл system.ini, который в директории Windows, одно значение в секцию Shell. Проблема в том, что класс TIniFile не справляется, просто не добавляет. В сети нашёл функцию, которая в названии топа, только вот непонятное какое-то описание...

Цитата
WritePrivateProfileString


Описание:
function WritePrivateProfileString(ApplicationName, KeyName, Str, Filename:
PChar): Bool;

Ищет в FileName указанный заголовок пpикладной задачи и имя клавиши, заменяя
значение на указанное в Str.

Паpаметpы:
ApplicationName: Имя заголовка пpикладной задачи.
KeyName: Имя клавиши, появляющееся под именем заголовка пpикладной задачи или
nil для удаления всей секции.
Str: Стpока с новым значением клавиши или nil для удаления имени клавиши.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 - в пpотивном случае.

функция находится в файле kernel32.dll


Какие-то клавиши под заголовками прикладных задач...
Всё это надо мне за тем, чтобы добавить файл в автозагрузку. Именно таким образом.

Автор: volvo 30.07.2009 22:32

Английским по белому: http://msdn.microsoft.com/en-us/library/ms725501%28VS.85%29.aspx написано, что эта функция оставлена только для совместимости с 16-битными приложениями. Кстати, там же есть и примеры использования, если все-таки хочется пользоваться именно INI-файлом, а не реестром.

Цитата
класс TIniFile не справляется, просто не добавляет
А ты содержимое реестра проверял, действительно в ветке HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run ничего нет? После дозаписи в win.ini, например, изменений тоже не видно, Windows автоматически производит нужные изменения в реестре. Вот в этой программе, например, было такое: http://forum.pascal.net.ru/index.php?s=&showtopic=24577&view=findpost&p=136043 Была попытка изменения реестра, хотя напрямую это не делалось...

Автор: Unconnected 31.07.2009 1:07

Спасибо, получилось..smile.gif