вопросы по реестру

Discussion in 'WASM.WIN32' started by nc, Oct 29, 2007.

  1. nc

    nc New Member

    Blog Posts:
    0
    Joined:
    Jun 4, 2007
    Messages:
    61
    привязываю программу к расширению, создаю все нужные ключи, в том числе и

    "program\shell\open\command" = "C:\Program Files\Program\prog.exe" "%1"

    вопрос: как задать текущую директорию, чтобы программа искала свои файлы в своей папке ?
     
  2. nester7

    nester7 New Member

    Blog Posts:
    0
    Joined:
    Dec 5, 2003
    Messages:
    720
    Location:
    Russia
    The SetCurrentDirectory function changes the current directory for the current process.
    Code (Text):
    1. BOOL SetCurrentDirectory(
    2.   LPCTSTR lpPathName
    3. );
     
  3. nc

    nc New Member

    Blog Posts:
    0
    Joined:
    Jun 4, 2007
    Messages:
    61
    программа должна обнаружить в своей рабочей папке манифест-файлы из редистрибутива Visual Studio 2005 ещё на этапе инициализации, поэтому мой код не поможет, нужно реестр править...

    кликаю на файл с зарегистрированным расширением - запускается программа,
    программа на этапе загрузки ищет необходимые для инициализации файлы
    в "текущей директории" и не находит, потому как "текущая директория" есть
    та директория, из которой запустили файл с зарегистрированным расширением.
     
  4. nester7

    nester7 New Member

    Blog Posts:
    0
    Joined:
    Dec 5, 2003
    Messages:
    720
    Location:
    Russia
    Ааа, ну так и нужно было объяснять с самого начала,
    а то зашел так, издалека :)
     
  5. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    nc
    Программа твоя? Ищи не в текущей директории, а в директории программы. Если не твоя и файлы могут найтись в %path%, смотри в сторону ключа реестра "App Paths".
     
  6. nc

    nc New Member

    Blog Posts:
    0
    Joined:
    Jun 4, 2007
    Messages:
    61
    "моя" программа...

    видимо, придётся поступить по совету nester7, вызвать SetCurrentDirectory в самом начале программы,
    чтобы не менять многочисленные обращения к файлам во всей этой большой многомодульной программе