При автозагрузке программы не загружаются данные сохр.в файлах

Тема в разделе "WASM.BEGINNERS", создана пользователем zxcc, 1 фев 2007.

  1. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    При автозагрузке программа запускается,но не загружаются данные сохр.в файлах(только при автозагрузке с Windows),данные сохраненные в реестре загружаются без проблем.При последующем перезапуске программы всё загружается нормально.Можно ли все данные сохранять в реестре?Или есть способ чтобы данные сохр.в файлах успевали загрузиться.(Диал.окно ,всё в WM _INITDIALOG)
     
  2. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    1. Можно и в реестре.
    2. А вообще - грузиться должны, может быть проблема в логике инициализации, либо что-то мешает читать из файлов, или наоборот, данные не успели записаться при выходе из программы (например, при выгрузке винды).
    Ну и код покажи, если не жалко и тот, который не жалко, может чего-нибудь и прояснится.
    Удачи!
     
  3. Everon

    Everon Ronny

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    8
    zxcc
    Что-то мне подсказывает, что проблема в том, что Windows (говорю про XP, про других не в курсе), запуская программу, прописанную в автозагрузку (в реестре, по крайней мере), задаёт ей текущую директорию как "C:\Documents and Settings\<Имя пользователя>. А нужные файлы лежат в той же директории, что и программа. Вот и не находит она их. Я это решал, прописывая путь к папке с программой, ещё одним параметром в реестре, что бы, при автозагрузке плясать уже от него. Может есть ещё какой способ...
     
  4. zxcc

    zxcc New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2006
    Сообщения:
    172
    Everon
    Спасибо что ответил.Ты как в воду глядел.
    Но в автозагрузке указан именно прямой путь к папке с программой.Все проблемы именно только при автозагрузке.
     
  5. Everon

    Everon Ronny

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    8
    Эээ... А мы друг-друга правильно поняли? Я имел ввиду вот что:
    Если путь к программе, например "C:\Program Files\MyApp\myapp.exe"
    Путь к файлу настроек "C:\Program Files\MyApp\file.ext"
    И этот самый "file.ext" открывается как-то так: "CreateFile("file.ext", ..." (без полного пути, с указанием только его имени), то, при автозагрузке, произойдёт попытка открыть файл "C:\Documents and Settings\<Имя пользователя>\file.ext", а не "C:\Program Files\MyApp\file.ext".
     
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    по-моему проще и быстрее определить путь к исполняемому файлу, чем писать данные в реестр, а потом их считывать - 2 раза приходится работать со строкой+далеко не самая быстрая работа с реестром, а в моём случае - только один раз получить строку.